我正在寻找一个能让我获得的PowerShell脚本:
OU's
的名字OU
中AD用户数的计数。我发现了这个:
(Get-ADUser -Filter * -SearchBase “ou=Users,ou=A1,dc=contoso,dc=com”).count
这正是我想要的,但我必须输入每个OU
名称。问题是我们有100多个OU's
。我想要运行的特定OU
是在contoso.com\cmsg\users
下的cmsg\users
是100+ OU's
所在的地方。
我建议你从另一个角度来看这个。每个广告用户都包含有关其父容器的信息。由于您已经返回所有用户。让我们用它来确定计数。需要注意的是,如果你有无用户的OU,他们就不会在结果中显示。
Get-ADUser -Filter * -Properties CN |
Select-Object @{Label='ParentContainer';Expression={$_.Distinguishedname -replace "CN=$($_.cn),"}} |
Group-Object -Property ParentContainer |
Select-Object Name,Count
你当然可以使用-SearchBase
来缩小Get-ADUser
的范围。
如果这不是您想要的,那么您的下一个解决方案将需要Get-ADOrganizationalUnit的输出。
$ous = Get-ADOrganizationalUnit -Filter * -SearchBase "ou=Users,ou=CMSG,dc=contoso,dc=com" | Select-Object -ExpandProperty DistinguishedName
$ous | ForEach-Object{
[psobject][ordered]@{
OU = $_
Count = (Get-ADUser -Filter * -SearchBase "$_").count
}
}
以下是获取特定OU中用户数的PowerShell命令。
(Get-ADObject -Filter * -SearchBase "path of your OU").Count
在python中运行 - get-aduser将向您显示所有用户
(get-aduser -filter *).count
将为您计算这些用户。这是所有活动或禁用的用户。