Показ дописів із міткою Shell. Показати всі дописи
Показ дописів із міткою Shell. Показати всі дописи

середа, 19 березня 2014 р.

ActiveDirectory get list memberof for user

Powershell 3.0

1) Данный скрипт позволяет получить в консоль список групп, в которых пользователь является членом.

$User = 'User.Name'
(Get-ADUser -Identity $User -Properties memberOf).memberOf | Sort-Object | % {(Get-ADGroup -Identity $_).Name}


2) Если пользователей несколько, то можно добавить цикл:

$UserList = 'User.One','User.Two'
foreach ($User in $UserList) {
"----------------------"
"User: " + $User + " is member of"
"----------------------"
(Get-ADUser -Identity $User -Properties memberOf).memberOf | Sort-Object | % {(Get-ADGroup -Identity $_).Name}
"----------------------"
}

Таким образом в консоли отобразится членство в группах с разделением по пользователям.

3) Если нами нужно получить членство в группах для всех пользователей определенной группы, то используем слегка модифицированный скрипт из второго пункта

$UserList = Get-ADgroupmember AD_Group
foreach ($User in $UserList) {
"----------------------"
"User: " + $User + " is member of"
"----------------------"
(Get-ADUser -Identity $User -Properties memberOf).memberOf | Sort-Object | % {(Get-ADGroup -Identity $_).Name}
"----------------------"
}

4) Если групп/пользователей несметное количество, или их нужно заекспортить в текстовый файл, то при запуске скрипта нужно вконце добавить > filename.txt, например:

PS C:\> .\myscript.ps1 > out.txt

P.S. Скрипт не производит никаких модификаций, а лишь выборку, поэтому он абсолютно безопасен.