Hier habe ich für Euch drei Code Happen, mit deren Hilfe ihr über die Exchange Verwaltungs-Shell alle User mit der primären aber auch mit den noch zusätzlich hinterlegten Emailadressen heraus ziehen könnt. Die Ausgabe ist dabei sauber unterteilt. Wofür kann man so etwas brauchen? Nun ja, zum einen kann man natürlich sehr schnell eine Übersicht zur aktuellen Situation bekommen und primär wird man solch einen Auszug benötigen, wenn es zu Umstellungen kommt. Auch bei der Migration zu 0365 kann solch eine Auflistung ganz hilfreich sein.
Die drei folgenden Codezeilen liefern im Prinzip die gleichen Daten, nur die Ausgabe der Daten erfolgt auf eine unterschiedliche Art und Weise.
Variante 1: Der Export in eine CSV Datei
Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,PrimarySmtpAddress, @{Name="EmailAddresses";Expression={$_.EmailAddresses |Where-Object {$_.PrefixString -ceq "smtp"} | ForEach-Object {$_.SmtpAddress}}} | Export-CSV c:\temp\daten.csv -NoTypeInformation
Variante 2: Die direkte Ausgabe
Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,PrimarySmtpAddress, @{Name="EmailAddresses";Expression={$_.EmailAddresses |Where-Object {$_.PrefixString -ceq "smtp"} | ForEach-Object {$_.SmtpAddress}}}
Variante 3: Als Grid Ausgabe
Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,PrimarySmtpAddress, @{Name="EmailAddresses";Expression={$_.EmailAddresses |Where-Object {$_.PrefixString -ceq "smtp"} | ForEach-Object {$_.SmtpAddress}}} | Out-GridView