У меня был похожий скрипт для другого проекта, который может быть полезен, я изменил его в соответствии с вашим запросом.Если вам не нужно отображать вывод, вы можете проигнорировать это.
$groups = import-csv groups.csv
$outputFile = New-Item -ItemType file testOutputCSV.CSV -Force
foreach ($group in $groups) {
[array]$users = Get-ADGroupMember -Identity $group.samaccountname
if($users.count -ne 0){
Write-Output "$($group.samaccountname) has something "
}
else {
Write-Output "$($group.samaccountname) has 0 members"
}
$group.samaccountname +","+$users.count | Out-File $outputFile -Append
}
Если вы хотите выделить группы, не имеющие членов на консоли, а также CSV, вы можете перенести эту строку внутрь блока IF Else, добавив дополнительные столбцы по мере необходимости.
$group.samaccountname +","+$users.count | Out-File $outputFile -Append
Если вам не нужно ничего отображать на консоли, вы можете опустить блок IF Else.
Если вы хотите обновить CSV только для групп, имеющих 0 или ненулевых участников, вы можете внести соответствующие изменения.
Редактировать: Маскированные $ Users будут [массивом], поскольку группы с одним членом будутвозврат ADPrincipal