我正在PowerShell中搜索列出包含用户的所有OU。
我尝试使用Get-ADUser
或Get-ADOrganizationalUnit
,但实际上并没有效果。
答案 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