Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание локального пользователя с данными из csv

Ответить
Настройки темы
CMD/BAT - Создание локального пользователя с данными из csv

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!

Есть csv файл с столбцами: Login, Password, FullName, Comment, Группа
Нужен скрипт, который будет создавать (обновлять данные если пользователь уже есть) беря данные из csv файла.
НО дополнительно к этому, в столбце Comment будет содержаться несколько кавычек, пример: ООО "Рога и Копыта" | Менеджер "проекта"

Отправлено: 12:25, 18-03-2017

 
mwz mwz вне форума

Аватара для mwz

Ушел из жизни


Сообщения: 8595
Благодарности: 2127

Профиль | Сайт | Отправить PM | Цитировать


HiFiN, какой ваш вариант? По нему сможете получить подсказки и конкретные советы.

-------
Mikhail Zhilin


Отправлено: 21:42, 18-03-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!
Мой вариант не подходит, так как он отличается от "надо" и сырой.
Пока под каждого пользователя создается батник:
net user %user_name% %user_passw% /add /expires:never
net user %user_name% /fullname:%full_name% /comment:%comment%
net localgroup "%localgroup%" %user_name% /add

и в %comment% несколько кавычек не понимает (

Отправлено: 15:01, 21-03-2017 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата HiFiN:
и в %comment% несколько кавычек не понимает ( »
Код: Выделить весь код
>net.exe user Iska /comment:"\"Рога и Копыта\" Ltd."
Команда выполнена успешно.


>net user Iska
Имя пользователя                       Iska
Полное имя                             Iska
Комментарий                            "Рога и Копыта" Ltd.
Комментарий пользователя
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:59, 21-03-2017 | #4


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
net user "manager" /fullname:"Петр Васильев" /comment:"ООО \"Отдел \"Рога и Копыта\" | г. Санкт-Петербург | Менеджер"
"г." не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Отправлено: 11:22, 25-03-2017 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


HiFiN, с одного раза разве не понятно? Экранировать надо:
Код: Выделить весь код
>net.exe user "Iska" /fullname:"Петр Васильев" /comment:"ООО \"Отдел \"Рога и Копыта\" ^| г. Санкт-Петербург ^| Менеджер"
Команда выполнена успешно.


>net.exe user "Iska"
Имя пользователя                       Iska
Полное имя                             Петр Васильев
Комментарий                            ООО "Отдел "Рога и Копыта" | г. Санкт-Петербург | Менеджер
Причём, я совершенно, категорически не советую использовать в комментарии такой символ, как «|». Потом сами же намучаетесь с обработкой.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:05, 25-03-2017 | #6

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


Сообщения: 8595
Благодарности: 2127

Профиль | Сайт | Отправить PM | Цитировать


Цитата Iska:
Экранировать надо »
HiFiN, т.е. ставить перед двойными кавычками (и вообще перед теми символами текста, которые в общем случае являются служебными) экранирующий символ \ (падающий слэш), указывающий, что следующий за ним символ является не служебным, а составной частью текста.

Ну и, как верно отметил Iska, при использовании знака вертикальной черты (pipe) нахлебаетесь проблем.

-------
Mikhail Zhilin


Отправлено: 12:17, 25-03-2017 | #7


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо.
Я сразу не понял, что экранировать надо и «|».
Можете подробней описать, какие проблемы вызовет «|» в описание?

P.S. А что насчет bat, которые брал бы данные из csv?
Есть ли такая возможность?

Если нет, то можно ли заставить брать "полные" команды из excel?
Т.е. у меня в excel на одной странице будет логин, фио и описание, а на второй будет формула в нескольких строках: " ="net user """&A*&""" /fullname:"""&B*&""" /comment:"""&C*&"""" "
Можно ли заставить брать эти команды?

Отправлено: 14:37, 25-03-2017 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата HiFiN:
Можете подробней описать, какие проблемы вызовет «|» в описание? »
То, что символ конвейера | будет использован по своему прямому назначению — ровно так, как это произошло в Вашем коде.

Мы же речь всё ещё ведём про:
Цитата HiFiN:
Есть csv файл с столбцами: Login, Password, FullName, Comment, Группа
Нужен скрипт, »
Ну, так вот попробуйте средствами пакетного файла прочитать и разобрать такой гипотетический файл на токены. Вообще, любые языки без ограничения границ строковых лексем в коде и/или с поддержкой escape-последовательностей (пакетные файлы, C/C++, PowerShell и прочие) имеют достаточные проблемы при работе со строками. И в первую очередь это проявляется при работе готовыми пакетными файлами/скриптами/утилитами с текстовыми файлами.

Цитата HiFiN:
P.S. А что насчет bat, которые брал бы данные из csv?
Есть ли такая возможность? »
Есть.

Цитата HiFiN:
Если нет, то можно ли заставить брать "полные" команды из excel? »
Нет. С Excel могут работать только языки, поддерживающие Automation или OLE DB. На крайний случай — DDE, хотя, по-моему, этого давно уже никто не делает.

Отправлено: 17:39, 25-03-2017 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание локального пользователя с данными из csv

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Запретить на создание локального пользователя. Discount Windows Server 2008/2008 R2 7 30-12-2015 03:30
PowerShell - [решено] Сравнение данных в строке csv-файла с данными из строки в списке SharePoint 2010 hax0rz Скриптовые языки администрирования Windows 4 22-07-2014 10:43




 
Переход