blackperl 0 Geschrieben 11. Januar 2017 Melden Teilen Geschrieben 11. Januar 2017 Hallo, ich exportiere über die Powershell Exchange-Postfächer. Dazu benutze ich folgenden Code (Auszug): $em = New-MailboxExportRequest -Mailbox $Mailbox -FilePath $FilePath While(($em.Status -ne "Completed") -and ($em.Status -ne "CompletedWithWarning") -and ($em.Status -ne "Failed")) { Write-host "em.Status: "$em.Status $ExportRequestState = Get-MailboxExportRequest | Where-Object {$_.Mailbox.ToString() -eq $id.Identity.ToString()} | select -ExpandProperty Status Write-host "ExportRequestState: "$ExportRequestState Start-Sleep -Seconds 1 } Mein Problem bzw. meine Frage ist, warum sich die Variable $em nicht aktualisiert? $em.Status ist immer "Queued", wohingegen $ExportRequestState irgendwann "in Progress" hat und abschließend "Completed". Nach meinem Verständnis wird von New-MailboxExportRequest ein Objekt zurückgegeben. Die Eigenschaft "Status" sollte also aktuell sein. Hat jemand eine Erklärung dafür? Der Code wäre einfach übersichtlicher bzw. "schicker", wenn ich $em nutzen könnte statt immer wieder den Status erneut abfragen zu müssen. Danke! Gruß Tobias Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 11. Januar 2017 Melden Teilen Geschrieben 11. Januar 2017 Moin, $em aktualisiert sich nicht, weil es nur den Rückgabewert des Cmdlets New-MailboxExportRequest enthält. Das Cmdlet erzeugt einen neuen Request, mehr nicht. Also gibt es auch nur einen Rückgabewert. Dass du den Status periodisch abfragen musst, liegt in der Natur der Sache. Stell dir eine große Umgebung vor, in der du zahlreiche Requests hast. Wenn Exchange von sich aus überall, wo jemand lauscht, den Status aktualisieren müsste, hätte es ganz schön zu tun. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.