Выгрузка членов групп Active Directory через Powershell

29.06.2012

Для того, чтобы сделать выгрузку членов групп из Active Directory можно воспользоваться стандартной командой PowerShell Get-ADGroupMember. Это удобно и быстро, если требуется узнать членов только одной группы.

Get-ADGroupMember -Identity GroupName | Sort name | `
 Export-Csv ((Get-Childitem env:USERPROFILE).Value + "\Desktop\PSOutput.csv") -Delimiter "`t" `
 -Encoding UTF8
Примечание. Параметр -Delimiter "`t" означает, что разделитель столбцов в CSV файле - знак табуляции.

Если же необходимо подготовиться к аудиту безопасности и выгрузить членов множества групп определенного контейнера, то я рекомендую воспользоваться таким скриптом:

# Подключение модуля АD
Import-Module ActiveDirectory
# Выборка всех групп из указанного контейнера, сохранение членов групп в файл
Get-ADGroup -Filter * -SearchBase "Groups,CN=Users,DC=domain,DC=com" | Sort name |
 ForEach-Object -Process {
   Echo ''; Echo $_.name; $_ | Get-ADGroupMember | Sort name | `
   FT name, SamAccountName -HideTableHeaders ; Echo '-------------------'
 } | `
 Out-File -FilePath ((Get-Childitem env:USERPROFILE).Value + "\Desktop\GroupsMembership.txt") `
   -Encoding UTF8