Filou Geschrieben 25. Oktober 2010 Geschrieben 25. Oktober 2010 (bearbeitet) Hallo und hilfe! Ich habe folgendes Problem: ------------------------------------------ Ich habe Skript geschrieben, welches 3 Dateien (virtuelle Festplatten von Hyper-V) übers Netzwerk kopiert und anschließend eine E-Mail (mit blat.exe) versendet, wenn das Kopieren geklappt hat. Quelle: "F:\VMs" auf "\\HYPER-V". Ziel: "D:\VMs" auf "\\BACKUPSERVER" Wenn ich das Skript manuell in der CMD starte, läuft es normal durch und macht was es soll. Wenn ich das Skript über die Aufgabenplanung starte, kopiert es zwar, verschickt aber anschließend keine Benachrichtigung ob das Kopieren geklappt hat. Lediglich die erste Mail, dass der Server heruntergefahrn wird kommt an. Leider kann ich dann nicht sehen wo es genau aussteigt. Details: ------------ Das Script tut in Etwa folgendes: - Eine E-Mail wird versendet dass der virtuelle Server heruntergefahren wird. - Warte 10 Min. - Virtuelle Computer werden heruntergefahren. - Netzlaufwerk wird verbunden. - Dateien werden Kopiert. - Virtuelle Computer werden gestartet - Es wird 40 Min gewartet (...bis der Exchange-Server gestartet ist) - E-Mail ob das Kopieren geklappt hat wird versendet. Gestartet wird das Script über die Aufgabenplanung als Domänen Admin. Das Programm lautet "%systemroot%\system32\cmd.exe" und der Parameter "/c f:\scripts\vmbackup.cmd" Hier das Script: @echo off cls echo HYPER-V SICHERUNG WIRD INITIALISIERT... echo. echo BENACHRICHTIGUNG WIRD PER E-MAIL VERSENDET. f:\scripts\blat "f:\scripts\Mail-Start.txt" -to info@domain.local -server SBS -subject "Datensicherung: Server wird heruntergefahren." echo. echo. echo ES WIRD 10 MINUTEN GEWARTET, BIS DER VORGANG VORTGESETZT WIRD... REM wait 600000 echo. echo. echo NETZWERKVERBINDUNGEN WERDEN HERGESTELLT... echo. net use y: /delete net use y: \\backupserver\vms echo. echo. echo VIRTUELLE COMPUTER WERDE HERUNTERGEFAHREN... echo. %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe f:\scripts\StartStopVms.ps1 f:\scripts\VmNamesStop.txt 1 echo. echo. echo STARTE KOPIERVORGANG... echo. goto NEXTA echo KOPIERE "Windows XP"... echo. xcopy /y "f:\vpc\WinXPAppSrv\Windows XP Application Server.vhd" "y:\WinXPAppSrv\Windows XP Application Server.vhd" /e if %errorlevel% == 0 goto NEXTA if %errorlevel% == 1 goto FAILED if %errorlevel% == 2 goto FAILED if %errorlevel% == 3 goto FAILED if %errorlevel% == 4 goto FAILED if %errorlevel% == 5 goto FAILED :NEXTA echo. echo. echo KOPIERE "Datenfreigaben"... echo. xcopy /y "f:\vpc\Win2008DomCon\Datenfreigaben.vhd" "y:\Win2008DomCon\Datenfreigaben.vhd" /e if %errorlevel% == 0 goto NEXTB if %errorlevel% == 1 goto FAILED if %errorlevel% == 2 goto FAILED if %errorlevel% == 3 goto FAILED if %errorlevel% == 4 goto FAILED if %errorlevel% == 5 goto FAILED :NEXTB echo. echo. echo KOPIERE "Win 2008 Domaenenc."... echo. xcopy /y "f:\vpc\Win2008DomCon\Win 2008 Domaenencontroller.vhd" "y:\Win2008DomCon\Win 2008 Domaenencontroller.vhd" /e if %errorlevel% == 0 goto OK if %errorlevel% == 1 goto FAILED if %errorlevel% == 2 goto FAILED if %errorlevel% == 3 goto FAILED if %errorlevel% == 4 goto FAILED if %errorlevel% == 5 goto FAILED :OK echo. echo. echo DIE SICHERUNG WURDE ERFLOGREICH ABGESCHLOSSEN. echo. echo VIRTUELLE COMPUTER WERDEN GESTARTET... echo. %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe f:\scripts\StartStopVms.ps1 f:\scripts\VmNamesStart.txt 0 echo. echo. echo ES WIRD GEWARTET, BIS ALLE VIRTUELLEN COMPUTER GESTARTET SIND. echo WARTE 40 MINUTEN... echo. wait 600000 wait 600000 wait 600000 wait 600000 echo. echo. echo SENDE BENACHRICHTIGUNG... f:\scripts\blat "f:\scripts\Mail-OK.txt" -to info@domain.local -server sbs2008 -subject "Sicherung auf Hyper-V-Server erfolgreich." goto END :FAILED echo. echo. echo. DIE SICHERUNG IST FEHLGESCHLAGEN. echo. echo VIRTUELLE COMPUTER WERDEN GESTARTET... echo. %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe f:\scripts\StartStopVms.ps1 f:\scripts\VmNamesStart.txt 0 echo. echo. echo ES WIRD GEWARTET, BIS ALLE VIRTUELLEN COMPUTER GESTARTET SIND... echo WARTE 40 MINUTEN... echo. wait 600000 wait 600000 wait 600000 wait 600000 echo. echo. echo SENDE BENACHRICHTIGUNG... f:\scripts\blat "f:\scripts\Mail-Failed.txt" -to info@domain.local -server sbs2008 -subject "WARNUNG: Sicherung auf Hyper-V-Server felgeschlagen." goto END :END echo. echo. echo DER VORGANG IST BEENDET. Meine Vermutung ist, dass es vielleicht an dem GOTO oder dem WAIT liegt? Hat jemand eine Idee, woran das liegen kann? Würde mich über Tips und Denkanstöße freuen! Gruß Filou Bearbeitet 25. Oktober 2010 von Filou Zitieren
Filou Geschrieben 25. Oktober 2010 Autor Geschrieben 25. Oktober 2010 PS: Ich glaube ich habe den Fehler eingrenzen können. Ich habe den Teil WAIT und E-MAIL versenden in eine seperate Datei kopiert und mit dem aufgabenplaner gestartet. Ergebnis: Die E-Mail wird sofort versendet. Das WAIT scheint nicht zu funktionieren, wenn es über den Aufgabenplaner gestartet wird. Kennt jemand eine eine Alternative zu der WAIT.EXE? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.