zeusplanet
Goto Top

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.

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! face-wink

Vielen Dank und Grüße
Michél

Content-Key: 235027

Url: https://administrator.de/contentid/235027

Printed on: April 16, 2024 at 17:04 o'clock

Member: bastla
Solution bastla Apr 09, 2014, updated at Apr 10, 2014 at 08:11:45 (UTC)
Goto Top
Hallo zeusplanet und willkommen im Forum!

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"  
   )
Grüße
bastla
Member: zeusplanet
zeusplanet Apr 10, 2014 at 08:13:15 (UTC)
Goto Top
Morgen bastla,

noch weniger Code und eine Lösung. Danke dir. Daumen hoch!

Grüße
Michél