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-Key: 4747868885

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

Printed on: May 4, 2024 at 09:05 o'clock

Mitglied: 4400667902
4400667902 Nov 24, 2022, updated at Nov 25, 2022 at 10:09:53 (UTC)
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.
Member: MeowJayJay
MeowJayJay Nov 25, 2022 at 09:20:40 (UTC)
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
Mitglied: 4400667902
4400667902 Nov 25, 2022 updated at 10:11:02 (UTC)
Goto Top
Klappt hier im Test einwandfrei ... (hatte hier nur einen User mit X400 Adresse in der Testumgebung)

screenshot
Member: MeowJayJay
MeowJayJay Nov 25, 2022 at 12:10:08 (UTC)
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
Mitglied: 4400667902
4400667902 Nov 25, 2022 updated at 13:22:07 (UTC)
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