Top-Themen

Aktuelle Themen (A bis Z)

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 Überwachen ob ein Skript läuft - ausgeführt als geplante Task unter Windows Server 2008

Mitglied: icsat

icsat (Level 1) - Jetzt verbinden

28.05.2013 um 16:03 Uhr, 2481 Aufrufe, 5 Kommentare, 1 Danke

Hallo,

ich muss prüfen, ob eine ein Batch-Skript (cmd.exe) noch läuft.

Das Problem dabei ist, dass ich in einem Batch-Skript (skript1) ein Skript (skript2) eines SW-Herstellers aufrufe, welches sofort mit ERRORLEVEL=0 zurück kommt. Dieser ERRORLEVEL bezieht sich aber nur darauf, dass ein weitetres Skript (skript3) erfolgreich gestartet wurde
Ich muss nun in skript1 abwarten, dass skript3 beendet ist, bevor ich die Verarbeitung fortsetzten kann. (OK, eigentlich startet skript3 noch ein skript4 bevor es sich beendet und ich muss auf das Ende von skript4 warten aber ist hier nicht das Problem)

Bisher (Windows Server 2003) habe ich das ganze in der Form gelöst, dass ich über "tasklist" und den eindeutigen Fenstertitel des skript3 die ProzessID ermittelt habe und in bestimmten Intervallen diese PID abgefragt habe. Ist die PID nicht mehr vorhanden konnte ich meine Verarbeitung fortsetzen.

Nun habe ich das ganze nach Windows Server 2008 portiert und habe folgendes festgestellt.
Starte ich mein Skript per Doppelklick oder per Aufruf aus einer cmd funktioniert alles wie gewünscht.
Nutze ich hingegen eine geplante Task (bzw. at aus der cmd) steht mit "tasklist" der Fenstertitel nicht zur Verfügung.

Hat jemand eine Idee, wie ich das Problem lösen kann?

Die Skripte 2 und 3 kann bzw. will ich eigentlich nicht anpassen, da es sich um Skripte eines SW-Herstellers handelt und ich diese aus Support- und Wartungsgesichtspunkten nur ungerne anfasse.
Der Softwarehersteller weiss grundsätzlich darum, dass die Jobsteuerung an der Stelle nicht optimal gelöst ist, hat aber aktuell kein Interesse dies kurzfristig zu verändern.
Es muss sich also um eine Lösung handeln, die über skript1 abzubilden ist.


Falls jemandem nicht ganz klar ist, wass ich meine. Hier ist ein kleines Beispiel in 2 Skripten:

MeinTest.bat:
01.
start "MeinTest2" "C:\temp\meintest2.bat"
MeinTest2.bat:
01.
tasklist /V /FO TABLE|find "MeinTest2" >C:\temp\find.tasklist.log 
02.
tasklist /V /FO TABLE >C:\temp\all.tasklist.log
Starte ich "MeinTest.bat" direkt enthält die Datei "find.tasklist.log" eine Zeile und die Datei "all.tasklist.log" die gesamte Tasklist.
Starte ich "MeinTest.bat" als geplante Task über "at" ist die Datei "find.tasklist.log" leer und die Datei "all.tasklist.log" wieder die gesamte Tasklist, aus der sich dann "orakeln" lässt, dass ein "cmd.exe" Prozess zu "MeinTest2.bat" gehört.


Gruß icsAT
Mitglied: certifiedit.net
29.05.2013 um 11:03 Uhr
Hi,

ein möglicher Ansatz (ungetestet) wäre evtl, dass du Abfragst, ob der entsprechende geplante Task gerade aktiv ist und welchen Status er hat.

Grüße
Bitte warten ..
Mitglied: pieh-ejdsch
29.05.2013, aktualisiert 30.05.2013
moin,

Die Skripte 2 und 3 kann bzw. will ich eigentlich nicht anpassen, da es sich um Skripte eines SW-Herstellers handelt und ich diese aus Support- und Wartungsgesichtspunkten nur ungerne anfasse.
dann baue zu dem "auf das zu wartende Script" ein Gleichnamiges Script
01.
@echo off 
02.
call "D:\auf das zu wartendende Umbenannte Original Script" 
03.
waitfor /si ScripnameFertig 1>nul
das Original benennst Du Um.

Dein 1. Script startet normal Das 2. Script und Wartet auf die Meldung "ScripnameFertig"
01.
@echo off 
02.
setlocal 
03.
set "LOG=D:\Script 1_Log.txt" 
04.
call "D:\Script 1.cmd" || >&2 echo FEHLER! Script 3 konnte nicht gestartet werden. && >>"%log%" echo FEHLER! Script 3 konnte nicht gestartet werden. &&exit /b 1 
05.
>>"%log%" echo Script 3 wurde gestartet. 
06.
echo Script 3 wurde gestartet. 
07.
 
08.
 rem Warte auf SriptEnde  
09.
waitfor ScripnameFertig 
10.
 
11.
rem hier geht es nachher weiter.

Somit belässt Du Dein HerstellerScript und hast es nur Umbenannt.

Gruß Phil
Bitte warten ..
Mitglied: icsat
29.05.2013 um 11:54 Uhr
Hi certifiedit,

das funktioniert leider nicht oder ich habe dich falsch verstanden.

Mein Skript1 läuft als geplante Task. Wenn ich die Task abfragen würde wäre sie natürlich da und aktiv. Ich muss aber wissen was mit skript3 ist.

Gruß icsAT
Bitte warten ..
Mitglied: icsat
29.05.2013 um 12:05 Uhr
Hey Phil,

danke für den Ansatz. Waitfor war mir bisher nicht bekannt.
Liegt vermutlich daran, das mir die 2008 er Kiste gerade erst vor die Nase gestellt wurde
Werde mit dem Ansatz später mal etwas testen.

Gruß icsAT
Bitte warten ..
Mitglied: icsat
30.05.2013, aktualisiert um 09:41 Uhr
Moin Moin,

ich habe das Problem zwischenzeitlich gelöst.

Danke noch mal an Phil, dessen Ansatz mich dazu bewegt hat die Dinge noch einmal anders zu betrachten.

Ich hatte mich allerdings doch gegen "WAITFOR" entschieden, da ich auch noch einen 2003er Testserver habe auf dem "WAITFOR" natürlich nicht vorhanden ist und ich ganz gerne auf allen Systemen die gleichen Skripte laufen habe. Ich wollte es dann, angelehnt an Phil's Vorschlag, alternativ mit einer Datei lösen, deren vorhanden sein oder nicht vorhanden sein ich in skript1 abfrage.

Gelöst habe ich es dann aber doch noch wieder anders. Das hat aber eigentlich nichts mehr mit meiner Fragestellung zu tun.
Ich habe mir die Skripte des SW-Herstellers noch einmal genauer angesehen und festgestellt, dass skript3 sehr wohl auf skript4 warten kann, wenn bestimmte Umgebungsvariablen gesetzt sind. Schade, dass mir die Hersteller Hotline das nicht sagen konnte. Weiter habe ich festgestellt, dass skript2 "nur" prüft ob bestimmte Umgebungsvarieblen korrekt gesetzt sind und theoretisch mehrere Instanzen von skript3 startet. (Theoretisch, weil es bei uns immer nur eine ist).
Daher übergehe ich jetzt skript2 und starte skript3 direkt aus skript1 und warte auf dessen Beendigung, welche dank der gesetzten Umgebungsvariablen erst nach Beendigung von skript4 erfolgt.
Das ist zwar nicht im Sinne des Erfinders (Softwareherstellers) aber was solls.

Gruß icsAT
Bitte warten ..
Ähnliche Inhalte
Windows Server
Powershell Skript als geplanter Task
gelöst Frage von Ex0r2k16Windows Server9 Kommentare

Hallo zusammen, ich habe ein PS Skript in meinen geplanten Tasks was der "SYSTEM" User nicht ausführt. Führe ich ...

Windows Server
Geplante Tasks starten nicht automatisch
Frage von TiTuxWindows Server

Hallo, wir haben 5 RDP Session-Host Server in einer Windows Server 2012 R2 Farm am Laufen. Auf allen Server ...

Windows Systemdateien

Geplante Task einmalig über GPO ausführen

gelöst Frage von WinLiCLIWindows Systemdateien5 Kommentare

Hallo zusammen, ich habe ein Prüfskript per Batch geschrieben, dass auf jedem Rechner einmalig laufen soll. Ich kann zwar ...

Exchange Server

GPO - Logon-Skript wird nicht ausgeführt

Frage von Der-PhilExchange Server4 Kommentare

Hallo! Seit heute werden meine Logon-Skripte, die ich über GPOs festlege nicht mehr gestartet. AD-Domaincontroller laufen unter Windows 2012 ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 1 TagWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 1 TagSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 2 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 2 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL13 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs10 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall10 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)8 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...