Возможно ли получить количество членов, принадлежащих определенной группе на основе OU? Когда я запускаю код ниже, он дает мне значение 3 для каждого OU, когда есть только 1 OU, значение которого равно 3, остальное должно быть равным 0. Оно запускает Get-ADGroupMember -Identity «Test_Group»). считать против всей активной структуры каталогов, а не только для каждого подразделения?Получить количество членов активной группы каталогов?
import-module activedirectory
foreach ($ou in Get-ADOrganizationalUnit -filter * -SearchScope 1){
$computers = 0 + (get-adcomputer -filter * -searchbase $ou.distinguishedname).count
$ou | add-member -membertype noteproperty -name Computers -value $computers -force
Foreach ($Member in $ou){
(Get-ADGroupMember -Identity “Test_Group”).count
}
$ou | select name,computers
}
Ваш цикл Еогеасп не имеет никакого смысла. Вы выполняете команду, которая всегда будет возвращать один и тот же результат несколько раз и не имеет ничего общего с переменными, используемыми для установки цикла foreach. –
Я не уверен, что еще я буду делать? Извините, что я новичок в powershell – user1342164
Все в порядке. Ну, вы просто удалите вложенный цикл foreach ($ Member в $ Ou) и возьмите часть из этого блока сценария и поместите его за пределы основного цикла foreach, так как нет смысла многократно запускать его. Лучше всего это сделать, чтобы сначала получить членство в группе, которое дает вам DN каждого члена, поэтому вы можете отфильтровать те, которые не соответствуют интересующему вас подразделению, и считать, что осталось. –