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

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

Ответить
Настройки темы
CMD/BAT - [решено] Как проверить есть ли пользователь или нет

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


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

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


Знающие люди, помогите разобраться с таким вопросом:
Надо проверить есть ли пользователь или нет с такой учетной записью, если есть - поменять пароль, если нет - то создать.
Как по отдельности сделать разобрался и все получается, но хочется большего...

Отправлено: 20:44, 30-04-2009

 


Moderator


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

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


Код: Выделить весь код
Net User юзер пароль 2>nul
If %ErrorLevel% Neq 0 (
  Net User юзер пароль /Add
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:30, 30-04-2009 | #2



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

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


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


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

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


Большое спасибо, буду пробовать.

If %ErrorLevel% Neq 0 - это, как понял, проверка на ошибку, которую возвращает

Net User юзер пароль 2>nul

и если код этой ошибки не равен 0, то пользователь добавляется.

А что означает "2>nul"?

Заранее Вам благодарен!

Отправлено: 14:33, 01-05-2009 | #3


ИО Капитана Очевидности


Contributor


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

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


Цитата rromms:
2>nul »
Означает, что второй поток (сообщения об ошибках) будет направлен в устройство вывода nul (в никуда)
Без этого на экран выводилось бы "Не найдено имя пользователя"

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:54, 01-05-2009 | #4


Старожил


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

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


El Scorpio, немного не потеме, но можно по подробней про потоки. Сколько их всего и тд, или ссылочку

Отправлено: 01:01, 02-05-2009 | #5


Ветеран


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

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


Вкратце здесь: Стандартные потоки — Википедия
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:50, 02-05-2009 | #6


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


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

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


Большое спасибо за науку. Код работает на 100%.

Но столкнулся с такой вот неясной ситуацией - когда надо поменять пароль или добавить одного пользователя, то все в порядке батник работает.

А когда двух и больше, код батника вроде:

Net User юзер пароль 2>nul
If %ErrorLevel% Neq 0 (
Net User юзер пароль /Add
)

Net User юзер1 пароль1 2>nul
If %ErrorLevel% Neq 0 (
Net User юзер1 пароль1 /Add
)

в той же директории появляется файлик nulIf без расширения, в котором пишет"Неизвестный параметр /ADD)NET." и далее про синтаксис.

Однако когда пробую запустить этот же батник "psexec \\host -u user -p pass -c E:\batts\BUH.bat" , то удаленном ПК работает без проблем.

В чем может быть дело?

Отправлено: 22:15, 19-05-2009 | #7



Moderator


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

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


rromms, перенос строки нормальный сделайте. Другим текстовым редактором (а не тем, какой вы использовали).

Отправлено: 12:11, 20-05-2009 | #8


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


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

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


Так вроде нормальный стоит - Akelpad.
Но не в этом дело.
Я собираю эти батники в процедуре MS Access - в конце каждой строки ставлю "& vbCr" - перенос строки.

Когда открываю его в Akelpad 4.15- переносы строки стоят везде.

Ручная правка переносов, типа удалить и снова поставить - не помогает.

И не работает почему-то, если локально запускать.

А если - "psexec \\host -u user -p pass -c E:\batts\BUH.bat" - работает.

В строке состояния только почему-то пишет: MAC 1251(Кириллица) - может из-за этого?

Последний раз редактировалось rromms, 20-05-2009 в 18:19. Причина: Досмотрел


Отправлено: 18:08, 20-05-2009 | #9



Moderator


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

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


Цитата rromms:
в конце каждой строки ставлю "& vbCr" - перенос строки.
Поменяйте на & vbCrLf
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:25, 20-05-2009 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как проверить установленна ли данная программа на компьютере или нет Anarasius AutoIt 1 02-12-2009 15:53
как проверить, выбран ли System.Windows.Forms.CheckBox или нет? alexey_a AutoIt 2 13-11-2009 12:39
[решено] Есть в winlogon.exe trojan или нет? Vessta Лечение систем от вредоносных программ 9 02-12-2008 14:42
[решено] Как проверить, работает или нет dnsbl в sendmail? Begemot-g Программное обеспечение Linux и FreeBSD 1 29-10-2008 17:31
Delphi - Как в Delphi узнать, есть процесс в памяти или нет? [mzd] Программирование и базы данных 5 15-09-2003 12:46




 
Переход