ERRORLEVEL-Übergabe in einer FOR-Schleife mit psexec
Hi Leute,
komme einfach nicht weiter, bzw. auf keine einfache Lösung.
Ich sichere mehrere Server über eine Batch (Drive Snapshot) und bin gerade dabei diese flexibler zu gestalten und überarbeite das Teil.
Soweit funktioniert auch alles, aber das verschicken der Mails inkl. Log-Datei klappt nicht, solange ich dies in meiner FOR-Schleife ausführe.
Klar, er sichert erst alle Server nacheinander und erst beim letzten Server bekomme ich eine Mail zugestellt. Natürlich nur mit dem letzten errorlevel.
Ich hoffe euch verwirren die Variablen nicht, sind ja aber eigentlich sprechend.
Irgendwer muss meinen Knoten im Kopf befreien.
PS.: Ja, ich schreib gern alles in eine Zeile!
Vielen Dank und Grüße
Michél
komme einfach nicht weiter, bzw. auf keine einfache Lösung.
Ich sichere mehrere Server über eine Batch (Drive Snapshot) und bin gerade dabei diese flexibler zu gestalten und überarbeite das Teil.
Soweit funktioniert auch alles, aber das verschicken der Mails inkl. Log-Datei klappt nicht, solange ich dies in meiner FOR-Schleife ausführe.
Klar, er sichert erst alle Server nacheinander und erst beim letzten Server bekomme ich eine Mail zugestellt. Natürlich nur mit dem letzten errorlevel.
for /F "delims=" %%i in ("!serverlist!") do for %%A in (%%i) do "%tools%\psexec.exe" /accepteula \\%%A -u %domain%\%user% -p %password% -c -f -h %workdir%\snapshot.exe C: %destination%\%%A\$computername_$disk_$type.sna -L307200 --AllWriters --AutoBackupSize:512 --CreateDir --FullIfHashIsMissing -RWT --exclude:"\Windows\Memory.dmp","\Windows\Minidump","\Windows\Temp" -h"%SystemDrive%\Snapshot_hash\$computername_$disk.hsh" --LogFile:%logs%\$computername.txt
if '%errorlevel%'=='0' (
"%tools%\gbmail.exe" -v -to %mailrecipient% -h %mailserver% -from snapshot.%computername%@%maildomain% -s "Snapshot-Meldung: Auftrag erfolgreich" -file "%logs%\%computername%.txt"
) else (
"%tools%\gbmail.exe" -v -to %mailrecipient% -h %mailserver% -from snapshot.%computername%@%maildomain% -s "Snapshot-Meldung: Auftrag fehlgeschlagen" -file "%logs%\%computername%.txt"
)
Ich hoffe euch verwirren die Variablen nicht, sind ja aber eigentlich sprechend.
Irgendwer muss meinen Knoten im Kopf befreien.
PS.: Ja, ich schreib gern alles in eine Zeile!
Vielen Dank und Grüße
Michél
Please also mark the comments that contributed to the solution of the article
Content-Key: 235027
Url: https://administrator.de/contentid/235027
Printed on: April 24, 2024 at 14:04 o'clock
2 Comments
Latest comment
Hallo zeusplanet und willkommen im Forum!
Versuch es mit dieser Schreibweise (ungetestet):
Grüße
bastla
Versuch es mit dieser Schreibweise (ungetestet):
for /F "delims=" %%i in ("!serverlist!") do for %%A in (%%i) do "%tools%\psexec.exe" /accepteula \\%%A -u %domain%\%user% -p %password% -c -f -h %workdir%\snapshot.exe C: %destination%\%%A\$computername_$disk_$type.sna -L307200 --AllWriters --AutoBackupSize:512 --CreateDir --FullIfHashIsMissing -RWT --exclude:"\Windows\Memory.dmp","\Windows\Minidump","\Windows\Temp" -h"%SystemDrive%\Snapshot_hash\$computername_$disk.hsh" --LogFile:%logs%\$computername.txt && (
"%tools%\gbmail.exe" -v -to %mailrecipient% -h %mailserver% -from snapshot.%computername%@%maildomain% -s "Snapshot-Meldung: Auftrag erfolgreich" -file "%logs%\%computername%.txt"
) || (
"%tools%\gbmail.exe" -v -to %mailrecipient% -h %mailserver% -from snapshot.%computername%@%maildomain% -s "Snapshot-Meldung: Auftrag fehlgeschlagen" -file "%logs%\%computername%.txt"
)
bastla