.
В указанной статье рассказывается о команде disable-adaccount, которой в общем случае требуется лишь один параметр: имя отключаемой учетной записи (есть и другие параметры, но пока можно обойтись без них). То же самое относится к нескольким другим инструментам, в том числе таким, назначение которых очевидно.
Enable-adaccount — эта команда активизирует отключенную учетную запись.
Unlock-adaccount — эта команда разблокирует блокированную учетную запись (я предупреждал, что с приобретением опыта PowerShell становится более интуитивно понятным).
Clear-ADAccountExpiration — к учетной записи AD можно применить характеристику, которая задает истечение ее срока действия к определенной дате. Эта команда отменяет данную характеристику.
Любопытно, что команды lock-account не существует. Как и прежде, любую из этих команд можно использовать как разовую:
enable-adaccount PatriceM unlock-adaccount EdDantes
Конечно, нет ничего предосудительного в использовании таких «команд-исполнителей» самих по себе, но при объединении с фильтром открываются более широкие возможности. Например, предположим, в результате локального сбоя блокирована группа учетных записей в организационной единице Librarians в bigfirm.com. Их можно разблокировать с помощью
get-aduser -f * -searchbase «ou=librarians,dc=bigfirm,dc=com»| unlock-adaccount
Или кто-то задал несколько бессрочных паролей для учетных записей, и вы хотите отключить эти учетные записи до выяснения всех обстоятельств дела:
search-adaccount -PasswordNeverExpires | disable-adaccount
Но прежде чем выполнить эту команду, полезно вглядеться в подзаголовок статьи: «мощный инструмент»... Как и настоящие мощные инструменты (ленточные пилы, пневматические молотки), инструменты Windows могут принести огромную пользу при небольших усилиях, но при небрежном использовании последствия могут быть плачевными. Если составить однострочную команду по-другому, например
get-aduser -f * | disable-account
то очередной день в офисе может превратиться в ночной кошмар. Поэтому послушайтесь совета: проверяйте фильтры, прежде чем запускать в дело исполнителя. В нашем примере проявите осторожность и сначала введите
search-adaccount -PasswordNeverExpires
без disable-adaccount. Можно заметить, что пароли многих безобидных учетных записей не ограничены во времени, поэтому требуется следующая команда:
search-adaccount -PasswordNeverExpires -usersonly
По этой причине я взял за правило сначала выполнять только «команду-фильтр». Если результаты значительны, ими можно управлять, направляя вывод в | out-gridview, удобный элемент управления «таблица данных» PowerShell, представляющий вывод в виде электронной таблицы.
Другой способ повысить безопасность самостоятельно спроектированного мощного инструмента PowerShell — добавить параметр -confirm. Он есть почти у каждой «команды-исполнителя», которую мне приходилось встречать. Так что, хотя его нет у команды get-aduser, он есть у unlock-adaccount. В приведенном выше примере осмотрительный ИТ-администратор сначала проявит осторожность:
search-adaccount -PasswordNeverExpires -usersonly| disable-adaccount -confirm
Параметр -identity используется чаще всего, но в четырех «исполнителях» есть несколько других общих параметров, которые могут требоваться время от времени. В приведенных в статье примерах предполагается, что пользователь запустил PowerShell как администратор домена, уже наделенного правом управлять судьбами членов домена. Однако может быть и по-другому. В таких случаях нужно просто добавить параметр -credential (get-credential), чтобы вывести на экран диалоговое окно входа. Более подробно о get-credential я расскажу в следующих статьях об администрировании Active Directory (AD).