Извлечение членства в группах - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть список компьютеров активных каталогов в файле, и я хотел бы видеть для каждого из них, к каким группам они принадлежат.Это очень долго, когда у вас есть 200-300, чтобы сделать вручную, но я думаю, что со сценарием это занимает несколько секунд.Буду очень признателен за вашу помощь.Я пробовал поиск, прежде чем просить о помощи, но не смог найти то, что хочу: (

1 Ответ

0 голосов
/ 14 февраля 2019

Допущения: вы действительно ищете компьютеры, а не пользователей, которые используют эти компьютеры.Распределение компьютеров по группам встречается гораздо реже.

Если файл компьютеров представляет собой простой файл блокнота, по одной системе на строку.

Это даст вам номера CN всех участвующих групп.

$AllSystems = Get-Content ".\CompList.txt" 
foreach($OneSystem in $AllSystems)
{
    write-host $OneSystem -foreground yellow
    Get-ADComputer -Filter {name -eq $OneSystem} -properties * | select -ExpandProperty Memberof
}

В результате вы получите имя машины (желтым цветом), за которым следует список всех групп, в которых находится машина.

Если вы хотите более дружественное имя группы,попробуйте это:

$AllSystems = Get-Content ".\CompList.txt" 
foreach($OneSystem in $AllSystems)
{
    write-host $OneSystem -foreground yellow
    Get-ADComputer -Filter {name -eq $OneSystem} -properties * | select -ExpandProperty Memberof| %{get-adgroup -identity $_} | select name
}
...