是否可以根据OU获取属于特定组的成员计数?当我运行下面的代码时,它为每个OU提供了值3,而只有1个OU的值为3,其余的应该为0。它正在针对整个active directory结构运行Get-ADGroupMember -Identity (“Test_Group”).count,而不仅仅是针对每个OU??
import-module activedirectory
foreach ($ou in Get-ADOrganizationalUnit -filter * -SearchScope 1){
$computers = 0 + (get-adcomputer -filter * -searchbase $ou.distinguishedname).count
$ou | add-member -membertype noteproperty -name Computers -value $computers -force
Foreach ($Member in $ou){
(Get-ADGroupMember -Identity “Test_Group”).count
}
$ou | select name,computers
}发布于 2014-09-02 22:53:42
我对您的问题的重复是,对于特定的AD组,您正在寻找基于OU或容器的成员计数。
Get-ADGroupMember -Identity "insert_your_group" -Recursive |
Where-Object{$_.objectClass -eq "User"} |
Get-ADUser -Properties canonicalname |
Select-Object @{Name='Container';Expression={$_.canonicalname | split-path -parent}} |
Group-Object container |
Select Name,Count逐行分解这段代码
-Recursive的所有用户,所以可以忽略他们。canonicalname,因为我们获得父containercanonicalname将其拆分(就像对目录一样),并只获取对象的-parent,以便获得您正在查找的输出
Name Count
---- -----
Domain.Local\OU\SubOU 8
Domain.Local\OU\SubOU2 8
Domain.Local\OU\SubOU5 2发布于 2018-11-14 18:52:34
(Get-ADGroupMember 'AD-groupname‘-Recursive).count
https://stackoverflow.com/questions/25623217
复制相似问题