Я пишу пакетный скрипт 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 ) Перенаправление