Я пытаюсь выполнить запрос PowerShell, чтобы вернуть группы с более чем 500 участниками.
Я попытался запустить оператор измерения и подсчитать -gt 500
Get-ADGroup -Filter {name -like "Distribution*"} -Properties * |
measure |
where count -gt 100 |
select name
Я бы хотел, чтобы это вернуло только имена групп, в которых > 500 участников.
Привет, извините, я должен был сделать это более ясным. Мне просто нужно название группы. Соглашение выглядит следующим образом:
Get-ADGroup
должен возвращать только имена групп. Он не вернет количество членов в нем. Вам нужно объединить результаты Get-ADGroup
с Get-ADGroupMember
, чтобы получить количество участников в группе AD.
Это не будет особенно быстро, но вы можете запустить это, чтобы получить вывод каждой группы и количество участников. Оператор where в конце будет выводить только те, у которых больше или равно 500 членов.
Get-ADGroup -Filter * | select Name, @{n = "Count";e = {(Get-ADGroupMember $_.samaccountname -Recursive).count}} | ? Count -ge 500
Именно то, что я ищу! Работает очень хорошо
Попробуйте так:
Get-ADGroup -Filter {name -like "Distribution*"} -Properties * | where {$($_.members.count) -GE 500} | select Name
Используйте
Get-ADGroupMember
, чтобы получить членов группы. Насколько я могу судить, ваш скрипт просто находит любую группу со словом «Распределение».