如何使用 powershell 在 AD 中创建一个包含 OU 列表的 table

How to create a table with a list of OU in AD using powershell

我的活动目录中有许多子文件夹,我想计算那里的用户数。我找到了一种使用 powershell 和 Get ADUser 命令的方法,但是我认为必须有一种方法可以优化它以构建一个包含我想要的所有子文件夹的 table。

通常以下脚本对我有用,但我不知道我是否可以递归遍历所有子文件夹并最终创建一个包含每个子文件夹的用户数的 csv。

echo "ACC - total:" (Get-ADUser -Filter * -SearchBase 'OU=Users,OU=ACC,OU=Clients,DC=SSICloud,DC=local' ).count

 echo "All Car - total:" (Get-ADUser -Filter * -SearchBase 'OU=Users,OU=All Car,OU=Clients,DC=SSICloud,DC=local' ).count

结果:

ACC - Total:
10

All Car - Total: 
11

谢谢

Get-ADOrganizationalUnit can search recursively through all OUs in your Domain, you can then pass the DistinguishedName of the OU as argument to the -SearchBase parameter of Get-ADUser 获取报告:

Get-ADOrganizationalUnit -Filter * -Properties CanonicalName | ForEach-Object {
    [pscustomobject]@{
        OUCanonicalName = $_.CanonicalName
        TotalUserCount  = @(Get-ADUser -Filter * -SearchBase $_.DistinguishedName).Count
    }
} | Export-Csv .... -NoTypeInformation