PowerShell создает дополнительные возможности автоматизации и управления Active Directory (AD) из командной строки. В этой статье я буду говорить преимущественно об управлении объектами AD. Простые сценарии и интерактивные команды PowerShell позволяют добавлять, изменять и удалять пользователей, группы и компьютеры. Я опишу этот процесс поэтапно на одном простом примере. Если PowerShell — и в самом деле будущее командного процессора в Windows, чем раньше системные администраторы с ней познакомятся, тем лучше. Хотя научиться пользоваться PowerShell не так уж легко, в дальнейшем она значительно упрощает управление пользователями, группами и компьютерами в AD. А для тех, кто умеет управлять объектами Active Directory с помощью VBScript, освоить PowerShell вообще не составит труда.
Добавление PowerShell в Windows Server 2008
Прежде чем Windows PowerShell можно будет воспользоваться, ее нужно сначала установить. Для этого нужно:
• открыть консоль «Управление сервером» (Server Manager) Windows Server 2008; • выбрать узел «Функции» (Features) • нажать «Добавить функцию» (Add feature); • пролистать список функций и выберите Windows PowerShell; • нажать «Далее» (Next), а затем «Установить» (Install).
Создание пользовательского объекта с помощью Windows PowerShell
После того, как Windows PowerShell установлена, запустить ее можно командой powershell.exe или с помощью ярлыка в меню «Пуск» (Start Menu). Когда откроется командный процессор, в командной строке будет указано:
C:\ PS>
Обратите внимание: в этот релиз Windows PowerShell не включены нативные средства управления Active Directory. В версии 1.0 для этого используется специальный провайдер.
В Windows PowerShell можно создавать переменные для ускорения ввода и повторного использования уже готового текста при выполнении сценариев. Чтобы создать переменную, нужно указать ее имя со знаком доллара впереди. Например, команда $variable создает переменную с именем «variable».
Чтобы создать пользовательский объект в AD, нужно:
• подключиться к объекту-контейнеру AD, в котором будет создан пользовательский объект; • добавить пользователя с помощью метода «Create» объекта-контейнера; • указать тип и имя нового объекта; • задать желаемые свойства объекта с помощью метода «Put» нового объекта; • применить изменения и зафиксировать новый объект в Active Directory.
К примеру, создадим пользовательский объект для нового пользователя «Kevin Jefferson» в организационной единице «Accounting Users». Для этого нужно ввести в командной строке PowerShell следующие команды:
Параметр [ADSI] указывает, что переменная должна использовать поставщик интерфейса службы Active Directory (Active Directory Services Interface, ADSI) для подключения к организационной единице (organization unit, OU) «Accounting Users» в домене yourcompany.com. Поставщик нужен в связи с тем, что в текущем релизе Windows PowerShell не предусмотрена поддержка нативных средств управления AD.
Для определения свойств нового объекта используется метод «Put» с указанием атрибута и его значения. Эту операцию можно повторять многократно для присвоения объекту всех необходимых свойств. Чтобы зафиксировать их в AD, необходимо определить метод объекта «setinfo()».
Указание пароля
Пароль с помощью метода «Put» задать нельзя — для этого используется метод «SetPassword». К тому же, в Windows Server 2008 главные объекты безопасности отключены по умолчанию. Чтобы присвоить атрибуту «disabled» значение «false», нужно выполнить следующую команду:
• Windows PowerShell должна быть установлена во всех системах, в которых планируется ее использовать.
• Выполнение сценариев в Windows PowerShell по умолчанию отключено. Чтобы его включить, нужно выполнить в командной строке PowerShell следующую команду:
Set-ExecutionPolicy remotesigned
К тому же, в Windows PowerShell необходимо указывать полный путь к сценарию. Указать локальный каталог можно нотацией .\ (точка и обратная косая черта).
Обязательно попробуйте Windows PowerShell для автоматизации обслуживания объектов Active Directory в Windows Server 2008. В этой статье я рассказал лишь об одной из ее многочисленных возможностей. Узнать о других функциях PowerShell подробнее можно на нашем сайте: функции PowerShell или на сайте microsoft.com.