Powershell에서 상위 컨테이너를 어떻게 바꿀 수 있습니까?

Powershell에서 상위 컨테이너를 어떻게 바꿀 수 있습니까?

"상위 컨테이너" 필드가 반전된 필드를 추가하여 AD의 모든 사용자에 대한 모든 정보를 추출해야 합니다.

예를 들어:

실제 상위 컨테이너 필드: "OU=Users,OU=Area,DC=Company,DC=com"

필요한 형식 상위 컨테이너 필드: Company.com\Area\Users

그리고 여기 내가 지금 가지고 있는 코드가 있습니다

Get-ADUser -Filter * -Properties * | select *,@{l='Parent';e={([adsi]"LDAP://$($_.DistinguishedName)").Parent}} | export-csv \\server\folder\usersADps.csv

감사해요

답변1

저는 얼마 전에 PowerShell 모듈의 기능을 캡슐화하는 PowerShell 모듈을 작성했습니다.이름번역그리고경로명PowerShell 내에서 쉽게 사용할 수 있는 COM 개체:

https://github.com/Bill-Stewart/PowerShell-ADName

이 모듈을 설치하면 다음과 같은 코드를 작성할 수 있습니다.

Get-ADUser -LDAPFilter "(name=*)" |
  Select-Object @{Name = "Path"; Expression = {$_.DistinguishedName | Get-ADName -Format Parent | Convert-ADName Canonical}},
  Name

이 예 Select-Object에서는계산된 재산Path이를 정식 이름 형식으로 표현된 각 개체의 AD 경로라고 합니다 .

스크립트 블록 내부 Expression =(스크립트 블록는 중괄호 안의 코드입니다 { }. 이 예제에서는 다음을 사용합니다.

  • $_.DistinguishedName- 이것은 DistinguishedName전달된 각 사용자의 속성 입니다.Get-ADUser
  • Get-ADName -Format Parent- 고유 이름의 상위 위치
  • Convert-ADName Canonical- 표준 형식의 상위 경로

이 명령은 PathName속성을 사용하여 출력을 생성합니다. 예:

Path                     Name
-----------------------  ---------
myorg.local/Container A  Ken Dyer
myorg.local/Container B  Lynn Dyer

... 등.

관련 정보