AD グループのリストがあります。これらの各グループが親グループの MemberOf であるかどうかを確認したいと思います。もしそうなら、私は親グループをリストしたいと思います。例: 子グループ 1 には親グループがないため、何もリストする必要はありません。子グループ 2 には 2 つの親グループ (2 つのグループのメンバー) があり、それら 2 つのグループを一覧表示したいと考えています。等々...
私は簡単なコードから始めました:
get-adgroup -filter "CN -eq 'Child2'" -properties memberof | select memberof
私が得る結果は、ほとんど私が望むものです:
memberof
{CN=親1,OU=ABC, CN=親2,OU=ABC}
したがって、これは機能しますが、'CN=' の部分と 'OU=' の部分は見たくないのですが、グループ名だけです。
次のステップでは、以下のコードを試しました:
Import-Csv -Path H:\Test\Input_ADGroup.csv |
ForEach-Object {
$Group = Get-ADGroup -filter "CN -eq '$($_.CN)'" -properties memberof
[PSCustomObject]@{
SourceCN = $_.CN
MemberOf = $Group.memberof
}
} | Export-Csv -Path H:\Test\Output_ADGroup.csv -NoTypeInformation
上記のコードを使用すると、正しく動作しません。入力グループ (子グループ) のリストが表示されますが、出力グループ (親グループ) は "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection"のように表示され ます。
私が試した別のオプションはGet-ADPrincipalGroupMembership
関数を使用することでしたが、これは常にエラーになります: Get-ADPrincipalGroupMembership : ユーザーが認証されていないため、要求されている操作は実行されませんでした
ファイルにある各 AD グループの親グループを取得する方法を知っている人はいますか?
前もって感謝します。