2016-07-05 8 views
0

Das ist mein Befehl Powershell:Powershell, Split Angebot Get-Mailbox Emailaddresses

Get-Mailbox -Identity <Display Name> -ResultSize Unlimited | 
    List DisplayName, PrimarySmtpAddress, EmailAddresses | 
    Format-List -Wrap PrimarySmtpAddress, EmailAddresses 

Aber wenn es mehr als 1 EmailAddresses für einen Benutzer sind, ist es alles zusammenhält.

Ich mag Würde das EmailAddresses Split nach jedem Raum haben, so dass es wie folgt aussieht:

enter image description here

+0

Wie sieht der Stromausgang aus? –

+0

Die E-Mail-Adressen von 1 Benutzer werden angezeigt als: EmailAddresses: [email protected], [email protected], [email protected], vierte @ c ... Es hält die Aliase zusammen und legt nicht sie auf einer separaten Zeile – Marcel

+0

Sie könnten versuchen, Get-Mailbox -Identity -ResultSize Unlimited | Wählen Sie DisplayName, PrimarySmtpAddress, @ {l = 'EmailAddresses'; e = {$ _. EmailAddresses -split ','}} ' –

Antwort

0
Get-MailBox -ResultSize Unlimited | Select DisplayName, PrimarySmtpAddress, ` 
@{Name='Email';Expression={ $_.EmailAddresses.SmtpAddress -join "`n" }} | 
Format-Table -Wrap 

sollte es tun.


Die EmailAddresses Eigenschaft enthält Objekte mit vielen Eigenschaften, gibt es keinen Raum zu spalten auf, weil es nicht eine einzelne Saite ist. Sie können also -wrap nicht verwenden, um es zu ändern, da es keine umbrochene Zeichenfolge ist. Diese Antwort verwendet eine calculated property, um alle E-Mail-Adressen in eine Zeichenfolge umzuwandeln, die dann -wrap ped sein kann.


-ResultSize Unlimited ist für viele Ergebnisse Rückkehr -Identity <displayname> ist für ein einzelnes Ergebnis zurückkehrt, indem beide zusammen nicht viel Sinn machen.

List ist ein Alias ​​für Format-List, also versuchen Sie, die Ausgabe von Format-List zurück in Format-Liste zu pipete, das wird nie etwas sinnvolles tun.

Format-List Ausgabe ist eine Eigenschaftsliste, aber Sie beschreiben Ihre gewünschte Ausgabe als Tabelle, es ist der falsche Befehl, um diese Art von Ausgabe zu geben.