Powershell で会議室のメールボックスのレポートを取得する方法

Powershell で会議室のメールボックスのレポートを取得する方法

このコマンドを実行しようとしました。 スムーズに実行されましたが、City フィールドと Country フィールドが入力されていません。 何が間違っているのでしょうか?

Get-Mailbox -RecipientTypeDetails RoomMailbox -ANR 'de-' | Select DisplayName,RecipientTypeDetails,alias,PrimarySmtpAddress,City,Country | export-csv C:\Output\room-de2.csv

ここに画像の説明を入力してください

答え1

Get-MailboxMicrosoft.Exchange.Data.Directory.Management.Mailboxオブジェクトを返します。メンバー、都市と国はそこにありません。

これらは両方とも、ADUser クラスの (追加の) メンバーです。ActiveDirectory モジュールがロードされた Powershell セッションで、Get-Mailbox から Get-ADUser に SamAccountName プロパティを渡す必要があります。環境の詳細がわからないため、これを 1 回で実行する方法をアドバイスすることはできません。ただし、複数の手順を実行する方法はあります。

SamAccountNameをパイプラインに追加すると、SelectCSVを使用してこれを行うことができます。ドメインコントローラーで実行します。

Import-Csv <path_to_CSV> | ForEach-Object {Get-ADUser $_.SamAccountName} | select City,Country | Export-Csv <new_CSV_path>

次に、Get-ADUser出力CSVの2つのフィールドをGet-Mailbox CSVに追加します。

$Exch = Get-Content <path_to_CSV>
$AD = Get-Content <new_CSV_path>
for ($i = 0; $i -lt $AD.Length; $i++) {$Exch[$i].insert(($Exch[$i].Length), ",$($AD[$i])") | Out-File <path_to_combined_csv> -Append}

関連情報