Основы управления Active Directory с использованием PowerShell

суббота, 2 октября 2010, Alexander Honcharuk

Модуль Active Directory для Windows PowerShell в Windows Server® 2008 R2 называется "Windows PowerShell module", который представляет собой группу командлетов. Эти командлеты можно использоваться для управления доменами Active Directory, настройки конфигурации сервисов Active Directory Lightweight Directory (AD LDS).

В Windows Server 2000, Windows Server 2003 и Windows Server 2008. Модуль Active Directory предоставляет централизированую процедуру администрирования AD.

Установка

Вы можете установить модуль Active Directory одним из этих методов:

  • По-умолчанию, на Windows Server 2008 R2 при установке ролей AD DS или AD LDS 
  • По-умолчанию, когда вы делаете контролер домена утилитой Dcpromo.exe на Windows Server 2008 R2
  • Как элемент Remote Server Administration Tools (RSAT) фичи на Windows Server 2008 R2
  • Как элемент RSAT фичи на машине Windows 7

Также он автоматически устанавливается вместе с:

  • Windows PowerShell
  • The Microsoft .NET Framework 3.5.1, или новее версию

Для корректной работы модуля Active Directory рекомендуется поставить Windows PowerShell и версией .NET Framework не раньше 3.5.1.

Модуль Active Directory доступен в таких редакциях ОС:

  • Windows Server 2008 R2 Standard 
  • Windows Server 2008 R2 Enterprise 
  • Windows Server 2008 R2 Datacenter 
  • Windows 7 

Обратите внимание, что в этих версиях его нету:

  • Windows Server 2008 R2 for Itanium-Based Systems 
  • Windows Web Server 2008 R2

Пример использования

PowerShell напрямую может взаимодействовать с Active Directory, читает как базу данных, извлекая оттуда информацию. Для примера покажу вам такой вот код PowerShell, в результате выполнения которого вам выедет на экран всех пользователе в домене и их суммарное количество:

$Dom = 'LDAP://DC=scribnertechmediacorp;DC=local'
$Root = New-Object DirectoryServices.DirectoryEntry $Dom
$i=0
# Create a selector and start searching from the Root of AD
$selector = New-Object DirectoryServices.DirectorySearcher
$selector.SearchRoot = $root
$selector.set_pagesize(1000)
$adobj= $selector.findall() |`
where {$_.properties.objectcategory -match "CN=Person"}
foreach ($person in $adobj){
$prop=$person.properties
$i++
Write-host "First name: $($prop.givenname) " `
"Last Name: $($prop.sn) Display Name: $($prop.cn)"
}
"Total AD Users Found: $i"

Для чтения конкретной части леса Active Directory, для примера контейнера пользователей, надо использовать новый LDAP путь, как значение переменной $Dom.:

Теперь приведу пример кода, который покажет как с PowerShell создать organizational unit EastCoast в домене:

$Dom = [ADSI]"LDAP://mercury:389/dc=scribnertechmediacorp;dc=local"
$newOU = $Dom.Create("organizationalUnit", "ou=EastCoast")
$newOU.SetInfo()

Теперь в этом OU создадим аккаунт для юзера Karen Smith:

$newOU = [ADSI]"LDAP://mercury:389/ou=eastcoast;dc=scribnertechmediacorp;dc=local"
$newUser = $newOU.Create("user", "cn=KSmith")
$newUser.Put("sAMAccountName", "KSmith")
$newUser.SetInfo()

Сторонние средства для PowerShell

Как видите, PowerShell предоставляет довольно гибкие стандартные возможности для администрирования Active Directory.

Есть такая компания Quest Software, которая известная редактором PowerGUI, и не только. Так вот, Quest Software выпустили бесплатный набор командлетов для еще более простой работы с Active Directory. Также к ним и есть документация.

Загрузить их можно тут отсюда - PowerShell Cmdlets for Active Directory.

Что бы их найти среди остальных команд, можно выполнить такой вот код:

To find them in PowerShell, type: 

  • get-command -pssnapin quest*

или:

  • get-command *qad*
И вы увидите такие командлеты:
  • Get-QADUser
  • Set-QADUser
  • New-QADUser
  • New-QADGroup
  • Add-QADGroupMember
  • Remove-QADGroupMember
  • Connect-QADService
  • Disconnect-QADService

Еще есть компания Idera, которая предоставляет средства администрирования на основе PowerShell - http://www.idera.com/products/powershell/.

Ссылки:

Компании из статьи


Microsoft Украина


Сайт:
http://www.microsoft.com/ukr/ua/

Microsoft Украина Украинское подразделение компании Microsoft.

Ищите нас в интернетах!

Комментарии

Свежие вакансии