Иногда нужно скопом завести одинаковую базу пользователей на всех компьютерах рабочей группы (w2k, XP, w2003) - для того, чтобы с отключенным гостевым доступом пользователи могли прозрачно пользоваться сетевыми ресурсами. Если компьютеров немного, то все изменения можно делать и вручную, но если их набирается под десяток, то остается либо заводить домен, либо искать метод синхронизации баз данных пользователей на каждом компьютере рабочей группы. О таком методе здесь как раз и рассказывается.
Нам понадобится %ProgramFiles%\Resource Kit\addusers.exe - консольная утилита для создания, удаления, записи пользовательских аккаунтов с использованием comma-delimited file (удобно для экспорта/импорта из Excel). Все вышеперечисленные действия, само собой, надо делать под локальным админом:
1. Подготавливаем базу паролей. На одной из машин заводим пользователей обычным образом, а затем выполняем команду
addusers.exe /d:u accounts.txt
или
addusers.exe /t /d:u accounts.txt
Если не использовать опцию u (выводить в формате unicode), то теряем инфу об аккаунтах, введенную по-русски.
Получится файл accounts.txt - comma-delimited file с аккаунтами пользователей. Опция /t выводит информацию о терминальных настройках (в большинстве случаев не нужна).
Структура полученного файла (без опции /t) следующая:
[User] UserName,FullName,Password,Comment,HomeDriveAndPath,Profile,Script, [Global] GlobalGroupName,Comment,UserName, ... [Local] LocalGroupName,Comment,UserName, ...
Примечание: можно также выполнить команду addusers.exe /d:u accounts.txt \\computername.
2. Везде, где встречается имя старого компьютера (например, в разделе [Local], в группах Администраторы, Гости, Пользователи) меняем имя старого компьютера на имя нового компьютера (на который будем копировать базу данных пользователей).
3. После второй запятой указываем пароли (они опцией /d:u не сохраняются, увы).
4. На всех компах, на которых создаем одинаковую базу пользователей, запускаем команду:
addusers.exe /p:ce /c accounts.txt
[Общие замечания]
Все компьютеры должны быть, по крайней мере, совместимы по региональной версии Windows (например, все русские или все английские. Иначе может возникнуть неувязка с локальной политикой безопасности - из-за имен системных групп и аккаунтов).
Опция /p:ce означает, что у каждого аккаунта запрещена смена пароля и пароль никогда не истекает.
У существующих пользователей пароль не меняется. Поэтому, чтобы обновился пароль админа, под которым мы делаем все операции, нужно перед запуском addusers.exe /p:ce /c accounts.txt удалить эту учетную запись (не обращая внимания на страшное предупреждение - мол, нельзя, сейчас этот пользователь залогинен, и потом не сможет войти в систему).
Можно также выполнить команду addusers.exe /p:ce /c accounts.txt \\computername.
Для профилактики ошибок разделитель по умолчанию ',' лучше поменять на какой-нибудь другой - на символ, не встречающийся в комментариях к учетным записям (опция /s:x, применяемая при сохранении или загрузке текстового файла с аккаунтами). Я, правда, на эти ошибки забил, и вроде ничего страшного не произошло.
Показанным выше способом можно копировать даже базу пользователей домена (запустив addusers.exe на контроллере домена).
Для быстрой смены паролей может пригодиться утилита pspasswd.exe из комплекта PsTools от Mark Russinovich [1].
Для создания, вывода списка и удаления сохраненных имен пользователей, а также паролей и учетных данных поможет утилита командной строки cmdkey. Она относится не к учётным записям!
Команда whoami возвращает имена домена, компьютера, пользователя, групп, идентификатор входа в систему и привилегии пользователя, выполнившего вход в систему.
[Ссылки]
1. PsPasswd By Mark Russinovich site:microsoft.com. |