Jump to content

Exchange Shell Sortierung funktioniert nicht bei Zwischenvariable


Direkt zur Lösung Gelöst von cj_berlin,

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hi,

ich habe eine große, aktuelle Exchange Umgebung.

Hier brauche ich die Mailboxgrößen (sortiert) für eine weiterverarbeitung.

Dadurch dass die Umgebung so groß ist, habe ich das auflisten der Mailbox Größen in kleinere Steps (Pro DB) ausgelagert und diese Daten in eine Variable geschrieben.

Leider sortiert er hier nicht.

 

# Server 1:
$sessYY = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://srvyy/PowerShell/ -Authentication Kerberos
Import-PSSession $sessYY -DisableNameChecking
$dbYY = Invoke-Command -Session $sessYY -ScriptBlock {Get-Mailbox -Database dbYY -ResultSize Unlimited | Get-MailboxStatistics} -AsJob
# Server 2-x:
$sessXX = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://srvxx/PowerShell/ -Authentication Kerberos
Import-PSSession $sessXX -DisableNameChecking
$dbXX = Invoke-Command -Session $XX -ScriptBlock {Get-Mailbox -Database dbXX -ResultSize Unlimited | Get-MailboxStatistics} -AsJob

# Warten auf alle Jobs
$result = $dbYY | Receive-Job
$result += $dbXX | Receive-Job
# ...

$result | Sort-Object TotalItemSize -Descending|Select-Object DisplayName,TotalItemsize

DisplayName                             TotalItemSize
-----------                             -------------
abcdef, xxxyyyzzz                       546.3 KB (559,372 bytes)
abcdef, xxxyyyzzz                       530.4 KB (543,116 bytes)
abcdef, xxxyyyzzz                       558.2 KB (571,567 bytes)
abcdef, xxxyyyzzz                       539 KB (551,896 bytes)
abcdef, xxxyyyzzz                       549.1 KB (562,248 bytes)
abcdef, xxxyyyzzz                       538.2 KB (551,111 bytes)
abcdef, xxxyyyzzz                       529.2 KB (541,889 bytes)
abcdef, xxxyyyzzz                       540.7 KB (553,712 bytes)
abcdef, xxxyyyzzz                       546.5 KB (559,617 bytes)
abcdef, xxxyyyzzz                       544.5 KB (557,616 bytes)
abcdef, xxxyyyzzz                       547.1 KB (560,254 bytes)

 

Wenn ich das direkt auf der Exchange Umgebung ausfüre (z.B. mit kleinem Resultset, damit es schneller geht, oder auch mit Unlimited) funktioniert die Sortierung ohne Probleme.

 

Get-Mailbox | Get-MailboxStatistics | Sort-Object TotalItemSize -Descending|Select-Object DisplayName,TotalItemsize

DisplayName                          TotalItemSize
-----------                          -------------
abcdef, xxxyyyzzz                    802.2 KB (821,428 bytes)
abcdef, xxxyyyzzz                    786.3 KB (805,176 bytes)
abcdef, xxxyyyzzz                    728.8 KB (746,330 bytes)
abcdef, xxxyyyzzz                    690.6 KB (707,223 bytes)
abcdef, xxxyyyzzz                    674.6 KB (690,781 bytes)
abcdef, xxxyyyzzz                    664.7 KB (680,696 bytes)
abcdef, xxxyyyzzz                    661.3 KB (677,185 bytes)
abcdef, xxxyyyzzz                    618 KB (632,875 bytes)
abcdef, xxxyyyzzz                    603.8 KB (618,281 bytes)
abcdef, xxxyyyzzz                    543 KB (556,015 bytes)

 

Mit einem zweiten Test liegt es nicht an der Variable:
 

$result = Get-Mailbox | Get-MailboxStatistics
$result | Sort-Object TotalItemSize -Descending|Select-Object DisplayName,TotalItemsize

funktioniert Problemlos.

D.h. irgendwo ist das Problem mit dem Job bzw. Remote Session.

Was ist das Problem? Was kann ich hier machen?

 

Vielen Dank schonmal.

bearbeitet von Dukel
  • Beste Lösung
Geschrieben

Moin,

 

ja, wenn Du das in der Remote-PSSession machst, ist der auf die Konsole ausgegebener Text ein Text. In der Exchange Management Shell findet eine Konvertierung statt, die das Sortieren erlaubt.

Hier eine Anregung:

$val = "802.2 KB (821,428 bytes)"
if  ($val -match ".*\((?<val>[\,\d]+)\sbytes\)") {
    $Matches['val'] -replace ','
}

 

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...