Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch ausführen in Task Scheduler Windows Server 2008 funktioniert nur teilweise

Frage Entwicklung Batch & Shell

Mitglied: Landstreicher

Landstreicher (Level 1) - Jetzt verbinden

26.08.2011, aktualisiert 11:27 Uhr, 6327 Aufrufe, 7 Kommentare

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:
01.
@echo off 
02.
title CPU - Monitor (Werte in Prozent) 
03.
 
04.
REM Datum umbauen 
05.
 
06.
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set Cyear=%%a%%b%%c 
07.
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set year=%%c 
08.
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set mon=%%b 
09.
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set day=%%a 
10.
echo Aktuelles Jahr = %year% 
11.
echo heute ist der : %mon%/%day%/%year% 
12.
 
13.
REM hier gehts los  
14.
 
15.
echo lese CPU-Werte .... 
16.
if exist D:\Scripts\cpu2.txt del D:\Scripts\cpu2.txt 
17.
ping -n 2 127.0.0.1 >nul 
18.
FOR /F "tokens=1,2 skip=1 delims= " %%i IN ('"WMIC CPU GET LoadPercentage, DeviceID"') DO ( 
19.
echo Prozessor %%i und %%j %%% Auslastung 
20.
) >>D:\Scripts\cpu2.txt 
21.
ping -n 4 127.0.0.1 >nul 
22.
echo; 
23.
echo schreibe CPU-Werte .... 
24.
set string=CPU0 
25.
set string2=CPU1 
26.
set ordner=D:\Scripts\ 
27.
set datei=cpu2.txt 
28.
set ausgabe=D:\Scripts\CPU_Mittelwert1_%computername%.txt 
29.
set ausgabe2=D:\Scripts\CPU_Mittelwert2_%computername%.txt 
30.
 
31.
FOR /F "tokens=1,2,3,4,5 delims= " %%a in ('findstr %string% %ordner%%datei%') DO set a=%%d  
32.
FOR /F "tokens=1,2,3,4,5 delims= " %%a in ('findstr %string2% %ordner%%datei%') DO set b=%%d 
33.
echo; 
34.
echo; 
35.
echo CPU1=%a% 
36.
echo CPU2=%b% 
37.
echo;  
38.
echo rechne ... 
39.
echo; 
40.
set /a mittelwert=(%a%+%b%)/2 
41.
echo; 
42.
echo schreibe Wert in Datei .... 
43.
echo %computername% %mon%/%day%/%year% %TIME:~0,5% %mittelwert% >>D:\Scripts\CPU_%computername%_%year%%mon%%day% 
44.
 
45.
echo versenden der Datei 
46.
call D:\Scripts\pscp.exe -pw -------- D:\Scripts\CPU_%computername%_%year%%mon%%day% ------@------------:/home/perfuser/data/. 
47.
:eof
Gruß ein Landstreicher
Mitglied: 60730
26.08.2011 um 11:34 Uhr
moin,

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ß
Bitte warten ..
Mitglied: Landstreicher
26.08.2011 um 11:46 Uhr
Hi,

ja generell funktioniert die Batch und er wirft mir die Werte auch raus .. wie gesagt, nur wenn ich es in den Task Scheduler packe und ihm sage er soll es Ausführen egal ob der User angemeldet ist oder nicht , kommt statt :

Ausgabe der Datei CPU_%computername%_%year%%mon%%day%:
Q4DE8NCOU29 08/25/2011 12:50 1
Q4DE8NCOU29 08/25/2011 13:00 3
Q4DE8NCOU29 08/25/2011 13:10 3
Q4DE8NCOU29 08/25/2011 13:20 1

nur noch ...

Q4DE8NCOU29 08/25/2011 15:30
Q4DE8NCOU29 08/25/2011 15:40
Q4DE8NCOU29 08/25/2011 15:50
Q4DE8NCOU29 08/25/2011 16:00
Q4DE8NCOU29 08/25/2011 16:10

man sieht es auch sehr gut daran, das die Grunddatei die ich dann auf die Werte durchstöbern will keine Werte mehr beinhaltet:

inhalt der cpu2.txt:

Prozessor CPU0 und % Auslastung
Prozessor CPU1 und % Auslastung
Prozessor und % Auslastung

wenn die batch handisch ausgeführt wird steht in der cpu2.txt folgenes:

Prozessor CPU0 und 18 % Auslastung
Prozessor CPU1 und 1 % Auslastung
Prozessor und % Auslastung


ne idee ?

gruß
Bitte warten ..
Mitglied: Landstreicher
26.08.2011 um 12:28 Uhr
eine Sache ist mir noch aufgefallen!

wenn ich im Task Scheduler auswähle "Nur ausfüren wenn der User angemeldet ist" funktioniert die Abfrage WMIC CPU GET LoadPercentage, DeviceID

DeviceID LoadPercentage
CPU0 10
CPU1 2

sobald ich das ändere in "egal ob der User angemeldet ist oder nicht" kommt nur noch

DeviceID LoadPercentage
CPU0
CPU1

ich bin verwirrt ...
Bitte warten ..
Mitglied: 99045
26.08.2011 um 13:09 Uhr
Versuch's mal mit Trick 31 über eine Verknüpfung nach http://www.wintotal.de/tipparchiv/?id=1795
Bitte warten ..
Mitglied: Landstreicher
26.08.2011 um 14:06 Uhr
es muss doch aber auch anders gehen.

mein Problem ist doch lediglich, das er den Befehl "WMIC CPU GET LoadPercentage, DeviceID" aus einer Batch herraus, gesteuert über den Tas Scheduler nicht richtig ausführt.

siehe letzter Beitrag von mir.

gruß Landstreicher
Bitte warten ..
Mitglied: 99045
26.08.2011 um 14:10 Uhr
Dein Problem ist, dass du dir was in den Kopf gesetzt hast und nicht bereit bist, funktionierene Lösungen auszuprobieren.

Schönen Tag noch.
Bitte warten ..
Mitglied: Landstreicher
29.08.2011 um 09:03 Uhr
Bitte ???

Du hast schon meine Beiträge richtig gelesen ? Deinen Link habe ich schon getestet ... allerdings bringt er mir das selbe Ergebnis!

Also noch mal:

der Taskscheduler startet alles soweit an nur eben ""WMIC CPU GET LoadPercentage, DeviceID" funktioniert nicht richtig. liegt das an berechtigungen ? einen falschen Aufruf durch den Taskscheduler oder habe ich etwas falsch gemacht beim einplanen ?

gruß


PS: Problem gelöst!
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
gelöst Windows-Explorer funktioniert nicht mehr Windows Server 2008 R2 (4)

Frage von Zeus0815 zum Thema Windows Server ...

Windows Server
gelöst NTP Server auf einem Windows Server 2008 R2 DC standardmäßig schon drauf? (11)

Frage von M.Marz zum Thema Windows Server ...

Windows Server
Windows Server 2008 R2 Aero-Design auf Remote Desktop geht nicht (3)

Frage von Motherboard33 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...