列出用户的所有OU

时间:2017-10-20 14:20:36

标签: powershell active-directory

我正在PowerShell中搜索列出包含用户的所有OU。

我尝试使用Get-ADUserGet-ADOrganizationalUnit,但实际上并没有效果。

2 个答案:

答案 0 :(得分:0)

只需从每个用户对象中提取OU即可。然后找到唯一的值。

Get-ADUser -Filter * |
    ForEach-Object {$_.DistinguishedName -replace '(^.*?)(OU=.*)','$2'} |
    Sort-Object -Unique

注意:这假设您没有在Containers中存储用户对象而不是OU

答案 1 :(得分:0)

一种方法是获取所有OU,并通过-SearchBase检查它们是否包含任何用户。使用Where-Object子句

过滤掉它们
Get-ADOrganizationalUnit -Filter * | 
    Where-Object {(Get-ADUser -SearchBase $_.DistinguishedName -Filter *).Count -gt 0} | 
    Select-Object -ExpandProperty DistinguishedName