Batch ausführen in Task Scheduler Windows Server 2008 funktioniert nur teilweise
Hallo zusammen,
ich habe eine Batch gebastelt, welche mir die CPU auslastung alle 10 min. in ein File schreiben soll und diese dann per pscp auf einen Unixserver schieben soll.
Soweit funktioniert dies auch. Lasse ich dies aber über den Task Scheduler von Windows 2008 Server laufen, liefert er mir lediglich noch den Rechnernamen und das Datum.
der Befehl : FOR /F "tokens=1,2 skip=1 delims= " %%i IN ('"WMIC CPU GET LoadPercentage, DeviceID"') DO (echo Prozessor %%i und %%j %%% Auslastung) >>D:\Scripts\cpu2.txt
scheint hier nicht mehr zu funktionieren.
kann mir jemand sagen was hier mein Problem verursacht ?
Hier mal meine Batch:
Gruß ein Landstreicher
ich habe eine Batch gebastelt, welche mir die CPU auslastung alle 10 min. in ein File schreiben soll und diese dann per pscp auf einen Unixserver schieben soll.
Soweit funktioniert dies auch. Lasse ich dies aber über den Task Scheduler von Windows 2008 Server laufen, liefert er mir lediglich noch den Rechnernamen und das Datum.
der Befehl : FOR /F "tokens=1,2 skip=1 delims= " %%i IN ('"WMIC CPU GET LoadPercentage, DeviceID"') DO (echo Prozessor %%i und %%j %%% Auslastung) >>D:\Scripts\cpu2.txt
scheint hier nicht mehr zu funktionieren.
kann mir jemand sagen was hier mein Problem verursacht ?
Hier mal meine Batch:
@echo off
title CPU - Monitor (Werte in Prozent)
REM Datum umbauen
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set Cyear=%%a%%b%%c
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set year=%%c
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set mon=%%b
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set day=%%a
echo Aktuelles Jahr = %year%
echo heute ist der : %mon%/%day%/%year%
REM hier gehts los
echo lese CPU-Werte ....
if exist D:\Scripts\cpu2.txt del D:\Scripts\cpu2.txt
ping -n 2 127.0.0.1 >nul
FOR /F "tokens=1,2 skip=1 delims= " %%i IN ('"WMIC CPU GET LoadPercentage, DeviceID"') DO (
echo Prozessor %%i und %%j %%% Auslastung
) >>D:\Scripts\cpu2.txt
ping -n 4 127.0.0.1 >nul
echo;
echo schreibe CPU-Werte ....
set string=CPU0
set string2=CPU1
set ordner=D:\Scripts\
set datei=cpu2.txt
set ausgabe=D:\Scripts\CPU_Mittelwert1_%computername%.txt
set ausgabe2=D:\Scripts\CPU_Mittelwert2_%computername%.txt
FOR /F "tokens=1,2,3,4,5 delims= " %%a in ('findstr %string% %ordner%%datei%') DO set a=%%d
FOR /F "tokens=1,2,3,4,5 delims= " %%a in ('findstr %string2% %ordner%%datei%') DO set b=%%d
echo;
echo;
echo CPU1=%a%
echo CPU2=%b%
echo;
echo rechne ...
echo;
set /a mittelwert=(%a%+%b%)/2
echo;
echo schreibe Wert in Datei ....
echo %computername% %mon%/%day%/%year% %TIME:~0,5% %mittelwert% >>D:\Scripts\CPU_%computername%_%year%%mon%%day%
echo versenden der Datei
call D:\Scripts\pscp.exe -pw -------- D:\Scripts\CPU_%computername%_%year%%mon%%day% ------@------------:/home/perfuser/data/.
:eof
Gruß ein Landstreicher
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172122
Url: https://administrator.de/forum/batch-ausfuehren-in-task-scheduler-windows-server-2008-funktioniert-nur-teilweise-172122.html
Ausgedruckt am: 25.12.2024 um 02:12 Uhr
7 Kommentare
Neuester Kommentar
moin,
Eine Batch ist ein komplexer Satz einzeln funktionierender Schritte.
Erst - wenn alle Schritte einzeln funktionieren, baut man die in eine gesamtbatch rein.
Und wenn das 100% Wasserdicht ist darf 01@echo ... da rein.
Von daher.........
Gruß
01. @echo off
Mein liebling unter den Batch Fragen....Eine Batch ist ein komplexer Satz einzeln funktionierender Schritte.
Erst - wenn alle Schritte einzeln funktionieren, baut man die in eine gesamtbatch rein.
Und wenn das 100% Wasserdicht ist darf 01@echo ... da rein.
Von daher.........
WMIC CPU GET LoadPercentage, DeviceID
- liefert das auf deinem Kasten überhaupt was aus?
Gruß
Versuch's mal mit Trick 31 über eine Verknüpfung nach http://www.wintotal.de/tipparchiv/?id=1795
Dein Problem ist, dass du dir was in den Kopf gesetzt hast und nicht bereit bist, funktionierene Lösungen auszuprobieren.
Schönen Tag noch.
Schönen Tag noch.