Я пишу пакетный скрипт Windows, и мне нужно установить для всех пользователей определенный пароль? Я знаю, что могу сделать net user чтобы увидеть всех пользователей на компьютере, и могу сделать net user username password чтобы установить пароль пользователя. Но есть ли способ объединить эти две команды, чтобы установить для всех пользователей определенные пароли.
1
1 ответ
0
Установка нескольких имен пользователей на один и тот же пароль - ужасная практика безопасности. Это означает, что любой может войти в любую учетную запись с этим паролем - Ramhound
Однако следующий фрагмент кода пакета показывает, как получить список активных пользователей. Как только вы удалите ECHO из 6-й строки, вы увидите, работает ли он с помощью команды net (могут потребоваться права администратора и запускаться с повышенными правами):
@ECHO OFF
SETLOCAL EnableExtensions
FOR /F "TOKENS=2* delims==" %%G IN ('
wmic USERACCOUNT where "status='OK'" get name/value 2^>NUL
') DO for %%g in (%%~G) do (
ECHO net user %%~g
)
Здесь for петли
%%Gдля получения значения активногоnameпользователя;%%gдля удаления возврата конца каретки в возвращаемом значении:wmicповедение: каждая выходная строка заканчивается0x0D0D0A(<CR><CR><LF>) вместо общего0x0D0A(<CR><LF>).
См. WMIC и FOR /F Дейва Бенхэма : исправление проблемы с трейлингом <CR>
Ресурсы (требуется чтение):
- (справочник по командам) Индекс AZ командной строки Windows CMD
- (дополнительные особенности) Синтаксис командной строки Windows CMD Shell
- (
%~Gспециальная страница) Аргументы командной строки (параметры) - (
2>NULСпециальная страница NUL ) Перенаправление
