Извлечение членства в группах

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

1 ответ

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

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

Это даст вам 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
}
Другие вопросы по тегам