MyTetra Share
Делитесь знаниями!
Администрирование Active Directory в Power Shell
Время создания: 27.04.2015 10:33
Текстовые метки: Windows Power Shell, PowerShell, документация, Active Directory, домен
Раздел: Компьютер - Windows - Windows Power Shell
Запись: xintrea/mytetra_syncro/master/base/1430119988dgaegu1zkl/text.html на raw.github.com

Администрирование Active Directory

Active Directory® - это технология, «внутри» которой многие администраторы проводят большую часть своего времени, выполняя повседневную административную работу – добавление новых пользователей, обновление объектов директории и.т.д. С внедрением в Windows Server® 2008 R2 командлетов, ориентированных на Active Directory, у администраторов появилась возможность экономить массу времени и сил, используя Windows PowerShell® для автоматизации выполнения многих повторяющихся задач, которые раньше отнимали львиную долю времени. Автоматизация также позволяет повысить безопасность и стабильность работы, так как влияние человеческого фактора, а значит, и количество ошибок сводится к минимуму.

В Windows Server 2008 R2 впервые появился модуль Active Directory для Windows PowerShell. Этот модуль установлен на всех контроллерах домена и является частью Remote Server Administration Toolkit (RSAT) для Windows® 7. Модуль содержит командлеты, которые позволяют осуществлять управление Active Directory из командной строки. Также эти командлеты обеспечивают поддержку технологии, которая отвечает за работу новой графической консоли Active Directory Administrative Center. Эти новые командлеты взаимодействуют с веб-сервисом, который является частью Active Directory в Windows Server 2008 R2. Этот же веб-сервис можно добавить в контроллеры доменов Windows Server 2008 и Windows Server 2003, загрузив его с официального сайта Microsoft. Найти его можно здесь:

http://go.microsoft.com/fwlink/?LinkId=193581

Нет необходимости устанавливать этот веб-сервис на все контроллеры домена. Вполне достаточно того, чтобы он был на контроллере домена того сайта, на котором находится административный центр. Точно так же, нет нужды устанавливать сами командлеты на ваши контроллеры домена. Командлеты нужны только на том клиентском компьютере, на котором вы хотите их использовать.

Добавление модуля

Import-Module используется для загрузки модуля Active Directory в оболочку:

Import-Module ActiveDirectory

Remove-Module используется для удаления модуля, после завершения работы с ним. Обратите внимание, что модуль остается установленным до тех пор, пока вы либо не удалите его, либо не завершите текущую сессию работы в оболочке. Вы можете извлечь список командлетов, включенных в модуль, запустив команду:

Get-Command –module activedirectory


AD PSDrive

Модуль Active Directory включает провайдера PSDrive. По умолчанию при импортировании модуля появляется виртуальный диск под названием AD:, через который осуществляется вход в домен. Главная цель этого диска – обеспечение защиты выполняемых командлетов.

Каждый из командлетов Active Directory позволяет вам соединиться с удаленным доменом и получить разрешение на это. В справочнике по командлетам Active Directory перечислены соответствующие параметры. Например:

[-AuthType {Negotiate | Basic}] [-Credential <PSCredential>]

Указание полномочий для каждого командлета может оказаться утомительным. Здесь на помощь приходит провайдер PSDrive. Попробуйте запустить команду help New-PSDrive, когда вы находитесь на диске С:, а затем переключитесь на диск AD: и запустите ее снова:

Cd c:

Help New-PSDrive

Cd AD:

Help New-PSDrive

Эти командлеты меняют параметры, когда вы переключаетесь на диск AD:. Эта альтернативная версия New-PSDrive разработана специально для обеспечения доступа к другим доменам, позволяя вам использовать альтернативный мандат. Этот мандат «запоминается» на тот период времени, пока PSDrive отображается.

Когда вы запускаете командлет Active Directory, PSDrive автоматически использует мандат и домен текущего диска. Таким образом, вместо того, чтобы указывать мандат каждый раз, когда вы запускаете командлет, вы можете просто привязать диск к определенному домену, переключиться на этот диск и запустить командлет оттуда. Командлет будет автоматически использовать тот мандат, который ассоциируется с этим диском. Чтобы использовать другой набор полномочий, подключите другой диск к требуемому домену, переключитесь на этот диск и запускайте командлет. Только командлеты Active Directory могут работать таким способом. Другие командлеты, поддерживающие параметр –credential, не перенимают полномочия PSDrive, который подключен к домену.

Если вы часто работаете с одним и тем же набором доменов, вы можете импортировать модуль Active Directory и привязывать диски к этим доменам каждый раз при запуске оболочки. Это можно сделать в профильном скрипте.


Ранние версии Windows

Не забывайте, что командлеты Active Directory предназначены для установки только на Windows Server 2008 R2 и Windows 7. Тем не менее, вы можете пользоваться этими командлетами и на более ранних версиях Windows, при условии, что они установлены хотя бы на одном компьютере из сетевого окружения.

Предположим, вы пользуетесь компьютером с running Windows XP, на котором установлена Windows PowerShell v2. Вы можете установить на домен контроллер домена Windows Server 2008 R2 и задействовать удаленную работу Windows PowerShell. Таким образом вы сможете установить командлеты Active Directory, а также контроллер домена, с которым взаимодействуют эти командлеты.

Далее, вы можете использовать неявный удаленный доступ с клиентского компьютера с Windows XP к командлетам, установленным на компьютере с Windows Server 2008 R2. Командлеты будут вести себя так, как будто они установлены на локальном компьютере с Windows XP, но выполняться в действительности они будут на удаленном компьютере. Эта техника будет рассмотрена позже, в модуле, посвященном удаленной работе с помощью Windows PowerShell.


Управление пользователями и группами

Управление пользователями и группами, несомненно, является одной из главных задач администратора в Active Directory. В рамках данного занятия вы узнаете, как осуществлять это управление с помощью командлетов. Опять же, техники, о которых вы узнаете здесь, могут применяться к другим командлетам, которые поставляются как Microsoft, так и сторонними поставщиками.

Работа с командлетами Active Directory, по сути, сводится к тому, чтобы вычислить, какие командлеты существуют и как пользоваться каждым из них. Для этого вы можете использовать команды Get-Command и Help соответственно.

Мы специально уделяем минимум времени изучению синтаксиса каждого из командлетов Active Directory. Ключевым навыком при работе с Windows PowerShell должно стать умение самостоятельно определять имена командлетов и искать их описание в справочнике. В этом и последующих модулях вы будете развивать этот навык.

Возьмите в привычку читать полное описание командлета в справочнике. Обращайте внимание на то, к каким параметрам происходит привязка конвейера по значению, а к каким – по имени свойства. Обладание этой информацией позволит вам быстрее научиться использовать короткие команды вместо длинных и сложных скриптов.


Фильтрация

По правде говоря, запрашивание всех объектов директории одновременно – неверный подход. Поступая таким образом, вы устанавливаете непомерную нагрузку на клиентский компьютер, на сеть, и особенно, на контроллеры домена. По этой причине большинство командлетов Active Directory, которые отвечают за извлечение объектов (например, командлеты с глагольной частью Get в названии), имеют обязательный параметр –filter. Вы можете установить значение * для данного параметра, но в большинстве случаев вам необходимо задать более точные критерии фильтрации, чтобы извлечь лишь те объекты, которые вам действительно нужны.

Параметр –filter командлетов Active Directory принимает критерии, оформленные в стиле Windows PowerShell:

Get-ADUser -Filter 'Name -like "*SvcAccount"'

Get-ADUser -Filter {Name -eq "GlenJohn"}

Вы можете найти и другие примеры в соответствующем разделе справочника. Большинство командлетов также могут ограничить свой радиус действия определенным подкаталогом директории, который будет называться поисковой базой. Найдите в справочнике информацию о том, как задать организационную единицу или другой контейнер в качестве поисковой базы.


Управление компьютерами и другими объектами AD

Active Directory хранит намного больше информации о доменных компьютерах, чем вы можете представить. Не забывайте отправлять объекты в командлеты Get-Member или Format-List *, чтобы просмотреть, что именно здесь содержится. Также помните и том, что во избежание чрезмерных нагрузок командлеты Active Directory обычно по умолчанию извлекают не все свойства, содержащиеся в директории. Поэтому, вы всегда можете уточнить, какие именно атрибуты необходимо извлечь. О том, как сделать это – читайте в разделе справочника, посвященном определенному командлету.

Командлеты, рассмотренные в данном разделе, действуют во многом аналогично командлетам, рассмотренным в предыдущих разделах.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования