2017-10-20 3 views
-2

나는 PowerShell에서 사용자가있는 모든 OU를 나열하는 방법을 찾고 있습니다.사용자가있는 OU를 모두 나열하십시오.

Get-ADUser 또는 Get-ADOrganizationalUnit으로 시도했지만 실제로 작동하지 않습니다.

+1

무엇을 시도 했습니까? 그것들은 사용할 필요가있는 두 개의 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에 사용자 개체를 저장하지 않는 가정을 만드는