Jump to content

Powershell script sehr langsam


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo,

 

ich habe ein Problem mit einem Powershell Script, das unheimlcih langsam ist. Vielleicht hat ja jemand eine Idee zur Beschleunigung.

 

Hintergrund: Ich muss für alle Mailboxen eines Kunden herausfinden, ob sie in den letzten 90 Tagen eine Mail bekommen haben.

 

Dazu schreibe ich alle Einträge des Messagetracking in eine Liste:

$tracking = get-mailboxserver | get-messagetrackinglog -start $date -eventid RECEIVE -resultsize unlimited | select Recipients

Danach würde ich die Recipients gerne in eine Liste schreiben und sortieren. Problem ist ja, dass eine Mail auch mehrere Empfänger haben kann. Somit steht in $tracking in jeder Zeile eine Collection.

 

Daher generiere ich mit dieser doppelten foreach eine Liste der Mailempfänger.

$tracking | Measure-Object 
foreach ($line in $tracking) {

    foreach ($recipient in $line.recipients){

        $recipientlist += $recipient
    }
}

Das ist aber sehr langsam und kommt mir auch umständlich vor. Hat evtl. jemand eine Idee, wie das eleganter und schneller gehen würde?

Geschrieben

Was genau ist denn langsam? Das Messagetracking Log auslesen oder die Empfänger auslesen?

Btw. Du musst die Empfänger nicht in eine eigene Variable abspeichern sondern kannst dies im foreach nutzen:

 

 

foreach ($line in (get-mailboxserver | get-messagetrackinglog -start $date -eventid RECEIVE -resultsize unlimited | select Recipients)) {

 

Vielleicht hilft das ja schon.

Geschrieben

Funktioniert folgendes performant?

 

$recipientlist = @()

foreach($tracking in (get-mailboxserver | get-messagetrackinglog -start $date -eventid RECEIVE -resultsize unlimited)){

   $recipientlist += $tracking.Recipients

}

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...