bugger
Goto Top

Powershell Exchange 2013 Mailbox größen inkl. E-Mailadressen

Hallo,

ich habe diesen Befehl zur Ermittlung der größen:
$UserMailboxStats = Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited @Params | Get-MailboxStatistics 
$UserMailboxStats | Add-Member -MemberType ScriptProperty -Name TotalItemSizeInBytes -Value {$this.TotalItemSize -replace "(.*\()|,| [a-z]*\)", ""}   
$UserMailboxStats | Select-Object DisplayName, @{Name="TotalItemSize (GB)"; Expression={[math]::Round($_.TotalItemSizeInBytes/1GB,2)}}, @{Name="TotalItemSize (MB)"; Expression={[math]::Round($_.TotalItemSizeInBytes/1MB,2)}}, ItemCount |   
Sort "TotalItemSize (GB)" -Descending | Out-GridView  

Und diesen Befehl für die E-Mailadressen:
Get-Mailbox Select-Object DisplayName,@{Name=“EmailAddresses”;Expression={$_.EmailAddresses |Where-Object {$_ -LIKE “SMTP:*”}}

Beide funktionieren problemlos, aber ich hätte gerne beides in einem. Kann man den unteren Befehl in den oberen integrieren? Wenn ich es unter Select-Object einfüge, bleibt diese Zeiler leider leer.

Gruß
Bugger

Content-ID: 274604

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

Ausgedruckt am: 23.11.2024 um 04:11 Uhr

114757
Lösung 114757 15.06.2015 aktualisiert um 15:42:27 Uhr
Goto Top
Ein kleiner Abstecher bei den Mailboxen mit foreach und du hast das gewünschte face-wink
get-mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited | %{
    $_ | Get-MailboxStatistics | Add-Member -MemberType ScriptProperty -Name TotalItemSizeInBytes -Value {$this.TotalItemSize -replace "(.*\()|,| [a-z]*\)", ""} -PassThru | Add-Member -MemberType NoteProperty -Name EMailAddresses -Value ($_.EmailAddresses | ?{$_ -LIKE “SMTP:*”}) -PassThru | select DisplayName, @{Name="TotalItemSize (GB)"; Expression={[math]::Round($_.TotalItemSizeInBytes/1GB,2)}}, @{Name="TotalItemSize (MB)"; Expression={[math]::Round($_.TotalItemSizeInBytes/1MB,2)}}, ItemCount, EMailAddresses  
} | Sort "TotalItemSize (GB)" -Descending | ogv  
Gruß jodel32
Bugger
Bugger 15.06.2015 um 14:35:38 Uhr
Goto Top
Danke, aber es funktioniert leider nicht. Es passiert überhaupt nichts. Vll. sind es auch zu viele Befehle auf einmal?
114757
114757 15.06.2015 um 14:38:11 Uhr
Goto Top
Geht hier einwandfrei ...
Bugger
Bugger 15.06.2015 um 15:20:16 Uhr
Goto Top
Ich bekomme die Meldung:

Die Pipeline wird nicht ausgeführt, da bereits eine Pipeline ausgeführt wird. Pipelines können nicht gleichzeitig ausgeführt werden.
114757
114757 15.06.2015 um 15:34:06 Uhr
Goto Top
Powershell-Version ?

Alternativ-Version:
get-mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited | %{
    $stat = $_ | Get-MailboxStatistics
    $stat | Add-Member -MemberType Noteproperty -Name TotalItemSizeInBytes -Value ($_.TotalItemSize -replace "(.*\()|,| [a-z]*\)", "")  
    $stat | Add-Member -MemberType NoteProperty -Name EMailAddresses -Value ($_.EmailAddresses | ?{$_ -like “SMTP:*”})
    $stat | select DisplayName, @{Name="TotalItemSize (GB)"; Expression={[math]::Round($_.TotalItemSizeInBytes/1GB,2)}}, @{Name="TotalItemSize (MB)"; Expression={[math]::Round($_.TotalItemSizeInBytes/1MB,2)}}, ItemCount, EMailAddresses  
} | Sort "TotalItemSize (GB)" -Descending | ogv  
Ebenfalls einwandfrei getestet, ansonsten musst du was falsch machen!
Bugger
Bugger 15.06.2015 um 15:42:18 Uhr
Goto Top
Also wenn bei dir alles funktioniert muss ich nochmal gucken, sowohl Remote als auch direkt am Server funktioniert es nicht. Nach dem nächsten Neustart probiere ich es nochmal und setze es daher schonmal auf gelöst, vielen Dank! face-smile