So erhalten Sie mit Powershell einen Bericht über Raumpostfächer

So erhalten Sie mit Powershell einen Bericht über Raumpostfächer

Ich habe versucht, diesen Befehl auszuführen. Er läuft reibungslos, aber die Felder „Stadt“ und „Land“ sind nicht ausgefüllt. Was mache ich falsch?

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

Bildbeschreibung hier eingeben

Antwort1

Get-Mailboxgibt ein Microsoft.Exchange.Data.Directory.Management.Mailbox-Objekt zurück. Wenn Sie sich dessenMitglieder, Stadt und Land sind nicht dabei.

Beide sind (zusätzliche) Mitglieder der ADUser-Klasse. Sie müssen die SamAccountName-Eigenschaft von Get-Mailbox an Get-ADUser in einer Powershell-Sitzung mit geladenem ActiveDirectory-Modul übergeben. Ohne weitere Details zu Ihrer Umgebung kann ich Ihnen nicht sagen, wie Sie dies in einem Durchgang tun. Es gibt jedoch eine mehrstufige Methode.

Wenn Sie SamAccountName zu Ihrer SelectPipeline hinzufügen, können Sie dazu die CSV-Datei verwenden. Führen Sie auf einem Domänencontroller Folgendes aus:

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

Anschließend können Sie die beiden Felder aus der Get-ADUser-Ausgabe-CSV zur Get-Mailbox-CSV hinzufügen

$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}

verwandte Informationen