meowjayjay
Goto Top

Exchange Script zum Abfragen von User Attributen

Hallo ihr Lieben,

ich bräuchte ein Script welchen unseren Exchange fragt nach folgenden Attributen:

die Postfachgrössen, X400 Adresse, Namen und Mailadressen

-> Name
-> Vorname
-> Postfachgröße
-> Mailadresse
-> X400 Adresse

am besten direkt als CSV sortiert - da hat doch sicher jemand sowas rumfliegen...

Danke euch schon mal & viele Grüße
Meow

Content-ID: 4747868885

Url: https://administrator.de/contentid/4747868885

Ausgedruckt am: 22.11.2024 um 00:11 Uhr

4400667902
4400667902 24.11.2022, aktualisiert am 25.11.2022 um 11:09:53 Uhr
Goto Top
Aus dem Kopf mal schnell zusammen geschrieben etwa so
Get-Mailbox -ResultSize Unlimited -PipelineVariable mailbox | Get-MailboxStatistics | Select Displayname,TotalItemSize,@{n='PrimarySmtpAddress';e={$mailbox.PrimarySmtpAddress.toString()}},@{n='X400';e={$mailbox.emailaddresses | ?{$_.Prefix.DisplayName -eq 'X400'} | %{$_.AddressString}}} | sort TotalItemSize -Desc | export-csv .\mailboxes.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8  

Uk.
MeowJayJay
MeowJayJay 25.11.2022 um 10:20:40 Uhr
Goto Top
Moin Ukulele,

danke dir erstmal ganz herzlich, wieder mal! face-smile

Sieht soweit top aus wie ich es mir vorgestellt habe :P

Mit der Abfrage kommt nur nichts bei X400 raus und auch die Mail Adresse wird nicht angezeigt.

Grüße
Meow
4400667902
4400667902 25.11.2022 aktualisiert um 11:11:02 Uhr
Goto Top
Klappt hier im Test einwandfrei ... (hatte hier nur einen User mit X400 Adresse in der Testumgebung)

screenshot
MeowJayJay
MeowJayJay 25.11.2022 um 13:10:08 Uhr
Goto Top
Also mit dem einen Script bekomme ich

Name & Größe:
Get-Mailbox -ResultSize Unlimited -PipelineVariable mailbox | Get-MailboxStatistics | Select Displayname,TotalItemSize,@{n='PrimarySmtpAddress';e={$mailbox.PrimarySmtpAddress.toString()}},@{n='X400';e={$mailbox.emailaddresses | ?{$_.Prefix.DisplayName -eq 'X400'} | %{$_.AddressString}}} | sort TotalItemSize -Desc | export-csv .\mailboxes.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8

und mit dem anderen bekomme ich Name & Mail Adresse:

Get-Mailbox -ResultSize Unlimited -PipelineVariable mailbox | Select Displayname,TotalItemSize,@{n='PrimarySmtpAddress';e={$_.PrimarySmtpAddress.toString()}},@{n='X400';e={$_.emailaddresses | ?{$_.Prefix.DisplayName -eq 'X400'} | %{$_.AddressString}}} | sort TotalItemSize -Desc | export-csv .\mailboxes.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8


Vielleicht schaut nochmal jemand drüber, wie ich die beiden zusammen in eine CSV bekomme..

Danke & Grüße
Meow
4400667902
4400667902 25.11.2022 aktualisiert um 14:22:07 Uhr
Goto Top
Funktioniert wie gesagt einwandfrei in der EMS... Über den Parameter -PipelineVariable kann ich jederzeit auf die Properties der Mailbox in der Pipelineüber den Namen $mailbox zugreifen. Wenn das bei dir nicht klappt machst du einen Connect ohne vollständige Serialization. Dass kann man aber einfach umschreiben:
$result = foreach($mailbox in Get-Mailbox -ResultSize Unlimited){
    $mailbox | Select DisplayName,@{n='TotalItemSize';e={$_ | Get-MailboxStatistics | select -Expand TotalItemSize}},PrimarySmtpAddress,@{n='X400';e={$_.emailaddresses | ?{$_.Prefix.DisplayName -eq 'X400'} | %{$_.AddressString}}}  
}
$result | sort TotalItemSize -Desc | export-csv .\mailboxes.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8