ich habe eine Batch, die ich gern zeitgesteuert per CC ausführen möchte. Das Batch führt LogParser (Ereignisprotokolle auslesen), meldet auch Erfolg, scheint aber dennoch nicht zu laufen, da keine Dateien abgelegt werden.
Ich führe das Batchfile per "Shell Execute Command" aus. Wenn ich dies "als Dienst" ausführe, erhalte ich zwar Erfolg aber eben keine Dateien, führe ich es als Benutzer aus, dann scheitert die Ausführung. In der Batch führe ich mit "CALL" andere Batchfiles aus.. Ist das problematisch via CC oder sollte das normalerweise gehen?
Meine Fragen:
a) für mich zum Verständnis: wann wähle ich "als Dienst ausführen" und wann "als Benutzer ausführen"?
b) was muss ich tun, damit mein Batch ausgeführt wird? Wenn ich das CC manuell ausführe, funktioniert's wunderbar!
Danke für Eure Hilfe und beste Grüße
Matthias Grobe.
P.S.: anbei der Code meiner Batchfiles.
Dieses Batchfile möchte ich ausführen:
Code: Alles auswählen
setlocal enabledelayedexpansion
set inipath="C:\Programme\Log Parser 2.2\inifile"
set executepath="C:\Programme\Log Parser 2.2"
set datenpfad="W:\EDV_Support\EventLogs_Server"
"datetime\datetime.exe" -T
set tag=%errorlevel%
"datetime\datetime.exe" -M
set monat=%errorlevel%
"datetime\datetime.exe" -J
set jahr=%errorlevel%
"datetime\datetime.exe" -S
set stunde=%errorlevel%
"datetime\datetime.exe" -I
set minute=%errorlevel%
set aktuelle_zeit=%jahr%_%monat%_%tag%
call %inipath%\executeLogParser.bat Application
call %inipath%\executeLogParser.bat System
REM call %inipath%\executeLogParser.bat Security
echo "Die Daten wurden im Verzeichnis %datenpfad% mit der Bezeichnung '%aktuelle_zeit%*' abgelegt"
copy %datenpfad%\%aktuelle_zeit%_Application.xml %datenpfad%\Application.xml /Y
copy %datenpfad%\%aktuelle_zeit%_System.xml %datenpfad%\System.xml /Y
Code: Alles auswählen
set eventlog=%1
set string=
cd %inipath%
inifile.exe ereignisprotokolle.ini [%eventlog%] > temporaer.bat
call temporaer.bat
FOR /F "tokens=2* delims=_=" %%A IN ('SET server_') DO (
set string=!string!,\\%%B\%eventlog%
@ECHO %%A : %%B
)
set server=%string:~1,10000%
cd %executepath%
"LogParser.exe" "SELECT ComputerName,TimeGenerated,EventID,RESOLVE_SID(SID),EventTypeName,EventCategoryName,Strings,Message INTO '%datenpfad%\%aktuelle_zeit%_%eventlog%.xml' FROM %server% WHERE EventTypeName <> 'Information event' ORDER BY ComputerName,TimeGenerated desc" -i:EVT -direction:BW -o:xml -iCheckpoint:C:\Temp\%eventlog%.lpc
Code: Alles auswählen
set server_01=<Server1>
set server_02=<Server2>
set server_03=<Server3>