「親コンテナ」フィールドを逆にしたフィールドを追加して、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 内で簡単に使用できる 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
- 正規形式の親パス
このコマンドは、プロパティを含む出力を作成しますPath
。Name
例:
Path Name
----------------------- ---------
myorg.local/Container A Ken Dyer
myorg.local/Container B Lynn Dyer
...などなど