计数Active Directory用户
问题描述:
下面的代码应该计数和比较用户并输出总计数,但不知何故结果为空。我需要做些什么来解决它?计数Active Directory用户
$groups = $A_group, $B_Group
$gm = @()
foreach ($group in $groups) {
$gm += Get-ADGroupMember $group -Recursive |
`where {$_.objectclass -eq 'user'} |`
' select SamAccountName'
}
($gm.samaccountname | Select -Unique).Count
Write-Output total: ($gm.samaccountname | Select -Unique).Count
答
您可以在一个更PowerShell的去年秋季的方式做到这一点。
$groups = $A_group, $B_Group
$uniqueMemberCount = $groups |
Get-ADGroupMember -Recursive |
Where-Object {$_.objectClass -ieq "user"} |
Select-Object -Unique |
Measure-Object |
Select-Object -ExpandProperty Count
Write-Output "Total: $uniqueMemberCount"
答
我想你想指望两个组的唯一成员:
$aGroup = @('a','b','c')
$bGroup = @('b','c','e','f')
(Compare-Object $aGroup $bGroup -IncludeEqual).count
+0
这是对的,也包括嵌套组。有数百个用户,所以你提到的代码不会这样做。 – Power988
+0
你的问题没有说明嵌套组的计数。 –
您的管线语法已损坏。删除反引号和单引号。 –