Извлечение членства в группах
У меня есть список компьютеров активных каталогов в файле, и я хотел бы видеть для каждого из них, к каким группам они принадлежат. Это очень долго, когда у вас есть 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
}