2017-10-20 203 views
-2

我在PowerShell中搜索的方式列出所有用户在其中的OU。列出与用户的所有OU

我尝试了一些Get-ADUserGet-ADOrganizationalUnit但它并没有真正的工作。

+1

你试过了什么_exactly_。那些将是您需要使用的2个cmdlet。你想如何处理递归结果? – Matt

回答

0

一种方法是让所有的OU的检查,看他们是否通过-SearchBase包含任何用户。使用Where-Object子句进行筛选它们是:

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

只需从每个用户对象中拉出OU。然后找到独特的价值。

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

注:这让你没有存储在容器而不是OU的用户对象的假设

相关问题