Exchange Backup Script

  • Hallo,


    ich kniffle jetzt schon ewig an einem Problem und komm nicht mehr weiter. Ich habe ein Exchange Mailbox Backup Script gebastelt. Wenn das Script in der Powershell console aufgerufen wird bspw mit:


    Zitat

    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\V14\bin\ExShell.psc1" -Command ". 'C:\Exchange_Mailbox_Backup\exchange_backup.ps1'"


    funktioniert das Backup der Mailboxen.


    Wenn nun das Backup über die Aufgabenplanung automatisiert gestartet werden soll funktioniert es leider nicht. Als Aktion ist Programm starten ausgewählt:


    Zitat

    Programm/Script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe


    Zitat

    Argumente: -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\V14\bin\ExShell.psc1" -Command ". 'C:\Exchange_Mailbox_Backup\exchange_backup.ps1'"


    Komischerweise funktioniert soweit alles bis zum eigentlichen Backupaufruf. Der Backupaufruf sieht bspw so aus:


    Zitat


    $command = "New-MailboxExportRequest –Verbose -BadItemLimit 5 -BatchName '" + $BatchName + "' -Mailbox '" + $sl[$x] + "' -FilePath '" + $BackupFolder + "" + $sl[$x] + ".pst'"


    # command: New-MailboxExportRequest –Verbose -BadItemLimit 5 -BatchName 20140212 -Mailbox j.tester -FilePath \\psfile003\exchangeBackup\20140212\j.tester.pst


    $output = Invoke-Expression $command


    $output ist leer.


    Als Fehlermeldung steht im Eventlog:




    Was passt bei dem Aufruf nicht? Zuvor hole ich mit

    Code
    Get-Mailbox

    alle Mailboxen. Das funktioniert problemlos. Auch ein

    Code
    Invoke-Command -ScriptBlock $command

    funktioniert nicht.


    Für Hilfe wäre ich sehr dankbar!


    lg
    sut

  • Hallo,


    weis zwar nicht ob ich da in die richtige Richtung denke, aber ein solches Verhalten kenne ich recht gut.
    Meist ist dies ein Rechteproblem.


    Microsoft empfiehlt alle Powershellskripte über eine cmd in der Aufgabenplaung zu starten. Hier musst Du drauf achten diese "Mit höchsten Privilegien" zu starten. Dieser Haken hat mich schon oft zur Verzweiflung gebracht.


    Ein weiterer Grund warum ein Skript nicht starten kann wären die Rechte auf das Verzeichnis. Um das zu testen lege ich meist das Skript erst mal auf den Desktop und lasse die Aufgabenplanung das Skript von hier starten.


    Soweit erst mal von mir. Hoffe das war ein Wink in die richtige Richtung.


    MFG
    Der Eisenmann

    Hauptsache die Post kommt an...


    MCITP Enterprise Messaging Administrator 2010
    MCSA Windows Server 2008
    Exchange 2016 Administering
    Exchange 2016 Designing and Deploying
    Advanced Exchange 2016 Administration
    Barracuda Message Archiver Certified Engineer
    Kemp Loadmaster Administrator

  • Hallo,


    habe gerade das Skript nochmal gestartet. Das mit den "höchsten Privilegien" scheint anscheinend zu helfen! Ansonsten lässt er das anscheinend nicht im Admin Mode laufen.


    Ich schau mal obs jetzt ganz durchläuft. Wenn ja poste ich das Skript mal hier mit einer Anleitung. Eventuell hilfts ja anderen Admins.



    Danke!!


    lg
    sut

  • Hallo,


    das funktioniert nun alles super!
    Bei einem Postfach habe ich beim ersten aufruf eine Timeout Exception bekommen:


    Code
    Microsoft.Exchange.MailboxReplicationService.TimeoutErrorTransientException: Timeout beim Aufruf von 'net.tcp://myserver/Microsoft.Exchange.MailboxReplicationService myserver (14.3.151.0 caps:07)'. Fehlerdetails: Dieser an net.tcp://myserver/Microsoft.Exchange.MailboxReplicationService gesendete Anforderungsvorgang hat innerhalb des konfigurierten Zeitlimits (00:01:00) keine Antwort empfangen.


    Zufällig eine Ahnung wo man das Timeout raufdrehen kann? In der MSExchangeMailboxReplication.exe.config gibt es nur den Eintrag


    Code
    DataGuaranteeLogRollDelay = "00:01:00"


    mit einer Zeit von 00:01:00. Wo könnte das sonst zu finden sein?


    lg
    sut

  • Hallo,


    eventuell hat ja noch jemand Verwendung für das Backup Skript:


    Leider gehen die Backslash verloren wenn ichs als code einfüge. Daher als Zitat ohne die Einrückungen.

  • Falls der Link stirbt hier nochmal ein Auszug: