Некоторые инструменты Windows, использующие командную строку, не найти ни в Resource Kit, ни в Support Tools, ни в глобальной сети - они встроены непосредственно в Windows! Команды Net – пример мощных и зачастую по незнанию игнорируемых инструментов, постоянно находящихся под рукой администратора. В статье “Не забывайте о Net Share” (опубликованной Windows IT Pro/RE № 5 за 2006 год) говорилось об использовании Net Share для управления коллективным доступом к файлам. Net Share имеет родственную команду – Net User, предназначенную для создания, удаления и управления локальными и доменными учетными записями пользователей.
Подробно о синтаксисе
Для начала рассмотрим основной синтаксис Net User на примере команды с ключом /add для создания учетной записи пользователя:
net user/add /domain
Без ключа /add команда Net User работает с имеющейся учетной записью. Ключ /domain обеспечивает соединение с контроллером домена (DC) и создание учетной записи домена. В противном случае создается локальная учетная запись. Конечно, если команда выполняется на DC, автоматически создается учетная запись домена. Например, команда
net user joe hi /add
создает новую локальную учетную запись пользователя под именем joe с паролем hi. Команда
net user jane wolf /domain
обеспечивает соединение с DC и восстановление пароля wolf пользователя Jane. Заметим, что эта команда выполняет восстановление, а не изменение пароля. Мне неизвестен инструмент командной строки, который бы выполнял изменение пароля.
Если создается учетная запись Active Directory (AD), ее регистрационным именем становится name@domainname. Например, команда
net user wally wallypassword /domain /add,
выполненная на системе, входящей в домен bigfirm.com, создает учетную запись, которая в “старом” стиле Windows NT 4.0 будет иметь регистрационное имя bigfirmwally, а в стиле AD – основное имя пользователя (UPN) wally@bigfirm.com. Пароль можно пропустить:
net user sally /add /domain,
но при этом создается учетная запись с нулевым паролем. Такая учетная запись, вероятно, окажется неправильной, о чем будет свидетельствовать сообщение об ошибке, поскольку большинство из нас работает в условиях минимальных требований к использованию пароля в сети. Как и для других команд Net, верхний и нижний регистры не имеют значения – конечно, за исключением, паролей.
Изменение атрибутов
Можно использовать несколько вариантов изменения атрибутов учетной записи. Ключ /active:[yes|no] позволяет делать учетную запись доступной или нет. Ключ /comment позволяет добавлять комментарий к учетной записи. Если текст комментария содержит пробелы и другие знаки, необходимо заключить его в двойные кавычки:
net user lila /comment:“accounting person” /add
Для удаления комментария можно просто повторно набрать команду, в которой за ключом /comment ничего не следует.
Ключ /homedir позволяет указать путь, соответствующий соглашению об универсальном назначении имен (UNC), к домашнему каталогу пользователя. Аналогично, ключ /profilepath позволяет указать UNC-путь к перемещаемому профилю пользователя. Например, если нужно, чтобы зарегистрированный пользователь Lila имел перемещаемый профиль, хранящийся в папке lila в совместно используемом каталоге profiles на сервере fileserver27, и чтобы каталогом пользователя Lila по умолчанию была папка lilastuff в каталоге homes на сервере fileserver04, можно изменить учетную запись следующим образом:
net user lila /profilepath:“fileserver27profiles lila” /homedir:“fileserver04homeslilastuff”
При регистрации пользователя Lila в системе извлекается соответствующий перемещаемый профиль с fileserver27. Впоследствии открываемая командная строка всякий раз будет содержать не C:Documents and Settingslila, а просто Z, поскольку система автоматически назначает букву Z для fileserver04 homeslila, как если бы была введена команда
net use Z: fileserver04homeslila
Как и в случае /comment, параметры /homedir или /profilepath можно удалить, просто набирая команду, в которой за двоеточием ничего не следует. Те, кому когда-либо приходилось работать с оснасткой Active Directory Users and Computers консоли Microsoft Management Console (MMC) для создания перемещаемого профиля или домашнего каталога, вероятно, имеют представление об использовании системной переменной %username%. В случае с Net User этот механизм не работает.
Многие назначают учетным записям пользователя сценарий регистрации. Net User позволяет это делать с применением ключа /scriptpath, осуществляющего ссылку на файл в совместно используемом каталоге Netlogon, который имеется на каждом DC. Например, задание lilastart.cmd в качестве сценария регистрации пользователя Lila означает, что сценарий регистрации пользователя Lila содержится в файле под указанным именем в каталоге Netlogon. Задание scriptslilastart.cmd означает, что сценарий содержится в папке scripts, находящейся в каталоге Netlogon.
Ключ /fullname позволяет назначать значение, используемое модулем расширения Active Directory Users and Computers для вызова отображаемого имени пользователя. Ключ /workstations позволяет ограничить рабочие станции, доступные для входа по данной учетной записи. Для ограничения учетной записи пользователя Lila разрешением регистрации только на компьютер PCWS55 можно набрать
net user lila /workstations:pcws55
При указании более одной рабочей станции составляется список, разделенный запятыми. Можно заключить этот список в двойные кавычки, но не следует оставлять пробелы после запятых. Допускается указание не более восьми рабочих станций. Ключ /passwordchg:[yes|no] позволяет указать, может ли пользователь менять свой пароль. Примечательно, что Net User нельзя использовать для установки бесконечного срока действия пароля учетной записи.
Добавление ключа /delete позволяет удалить учетную запись. Например, команда
net user joe /delete
удаляет локальную учетную запись под именем Joe, а команда
net user jane /domain /delete
осуществляет соединение с DC и удаление учетной записи пользователя Jane. Сама по себе команда Net User открывает список учетных записей пользователей, а команда Net User username дает информацию о конкретной учетной записи пользователя.
В заключение рассмотрим пример того, как команда Net User позволяет решить проблему, которая может показаться трудноразрешимой. Недавно мне было нужно создать домен с 501 учетными записями пользователей. Их содержание не имело значения – просто требовалось быстро создать 501 фиктивную учетную запись. Я воспользовался комбинацией команды Net User и инструмента For:
for /l %r in (1,1,501) do net user user%r password%r /add
Необходимое количество учетных записей было создано мгновенно. Те, кому интересно узнать, зачем мне нужны были эти учетные записи, могут ознакомиться со статьей Microsoft, опубликованной по адресу http://support.microsoft.com/default.aspx?scid=kb;en-us;281923. Обещаю, что вы ощутите внезапную потребность в Net User.
Марк Минаси (http://www.minasi.com/gethelp) – старший редактор Windows IT Pro и MCSE, автор книги Mastering Windows Server 2003 (издательство Sybex).