如何计算foreach循环中if循环的结果

How to count the result of a if loop within foreach loop

有没有比使用此方法然后为每个结果调用 $count + 1 更好的方法来计算空组的数量?我试图弄乱 3.count 但它一直返回 0

$Groups = Get-ADGroup -Properties * -Filter * | where { $_.Members.Count -eq 0}
3= Foreach($G In $Groups)
{
    $Membership = Get-ADGroupMember -Identity $G.Name
    If($Membership.count -eq 0){
    $Count = $count + 1
    }

}

Get-ADGroup 可以在不脱离 AD 的情况下完成您要求的大部分工作。

使用 Filter 参数完成这项工作很痛苦。然而,LDAP 过滤器很简单。

对于空组:

Get-ADGroup -LdapFilter "(!member=*)"

对于也没有嵌套在其他组中的空组:

Get-ADGroup -LdapFilter "(&(!memberOf=*)(!member=*))"