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

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

Printed on: April 25, 2024 at 12:04 o'clock

Mitglied: 114757
Solution 114757 Jun 15, 2015 updated at 13:42:27 (UTC)
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
Member: Bugger
Bugger Jun 15, 2015 at 12:35:38 (UTC)
Goto Top
Danke, aber es funktioniert leider nicht. Es passiert überhaupt nichts. Vll. sind es auch zu viele Befehle auf einmal?
Mitglied: 114757
114757 Jun 15, 2015 at 12:38:11 (UTC)
Goto Top
Geht hier einwandfrei ...
Member: Bugger
Bugger Jun 15, 2015 at 13:20:16 (UTC)
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.
Mitglied: 114757
114757 Jun 15, 2015 at 13:34:06 (UTC)
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!
Member: Bugger
Bugger Jun 15, 2015 at 13:42:18 (UTC)
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