web-dev-qa-db-ja.com

Get-DistributionGroup出力ManagedBysamaccountname

すべてのDLのリストをエクスポートしようとしていますが、ManagedBy値のsamaccountname(複数の場合は最初のエントリ)を含む列を作成できる必要があります。

Get-DistributionGroup | Select-Object Name, ManagedBy | Export-Csv C:\out.txt

当然のことながら、これは私にこのようなものを与えます:

"Name","ManagedBy"
"DL-SOMETHING-SOMETHING","Microsoft.Exchange.Data.Directory.ADMultiValuedProperty`1[Microsoft.Exchange.Data.Directory.ADObjectId]"

これがワンライナーでない場合は、ManagedBy値をループし、GET-AdUserを使用して、必要なものを抽出できます。

しかし、最初のManagedByだけを気にする場合は、これをワンライナーで実行できますか?

何かのようなもの...

Get-DistributionGroup | Select-Object Name, ManagedBy[0].Samaccountname | Export-Csv C:\out.txt

これをコンソールで実行したときに取得したのと同じ文字列を取得できたとしても、それを処理できます。

Get-DistributionGroup | Select-Object Name, ManagedBy

出力

DL-SOMETHING-SOMETHING, {somedomain.com/Accounts/SomeAccount}
1
Kjensen

以下のコマンドを試してください。

Get-DistributionGroup | Select-object Name,@{label="ManagedBy";expression={[string]($_.managedby | foreach {$_.tostring().split("/")[-1]})}} | Export-Csv

以下のように表示されます: enter image description here

3
Jianfei Wang