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

时间:2016-08-17 13:29:23

标签: powershell if-statement foreach powershell-v4.0

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

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

}

1 个答案:

答案 0 :(得分:3)

Get-ADGroup可以完成您的要求,而不会远离AD。

使用Filter参数完成此操作非常痛苦。然而,LDAP过滤器很简单。

对于空组:

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

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

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