waldschr4t
Goto Top

Dienst mit Batch-Datei sicher starten

Eine Abfrage, welche Diente / Tasks oder ob ein bestimmer Dienst / Task läuft

Unser Apacheserver soll 1mal täglich neugestartet werden und außerdem eine *.exe-Datei ausgeführt werden. Die Batchdatei funktioniert auch schon, nur eine Überprüfung, ob der Dienst läuft, wäre toll!

Im Moment probieren wir eine Lösung mit WSH aus, würden aber gerne darauf verzichten.

Content-ID: 20762

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

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

11078
11078 01.12.2005 um 12:07:00 Uhr
Goto Top
Hallo,

auf XP könnte man da etwas mit "tasklist" machen:
http://www.ss64.com/nt/tasklist.html

Sinnvoller für alle Windows-Versionen wäre vermutlich aber der Einsatz eines externen Tools,
Z.B.:
http://www.sysinternals.com/Utilities/PsService.html


Gruß,
Tim
IceBeer
IceBeer 01.12.2005 um 12:09:17 Uhr
Goto Top
Hallo,

vielleicht hilft dir der Befehl: tasklist weiter...... geht aber glaub erst ab der xp/2003 Schiene.

Gruß IceBeer
WaldSchr4T
WaldSchr4T 01.12.2005 um 16:36:55 Uhr
Goto Top
Vielen Dank für die Hilfe! Doch mittlerweile Wollen wir das Problem doch mit WSH lösen...
IceBeer
IceBeer 01.12.2005 um 18:28:51 Uhr
Goto Top
Hallo,

falls ihr euch überlegt es in VBS zu machen...
Hiermit würdet ihr schon mal sehen ob der Apache Prozess aktiv ist

In diesem Fall würde er gekillt werden.

code ############
for each process in ProcessSet
proname = ucase(Left(process.Name,6))
'MsgBox proname
Select Case proname
Case "APACHE"
MsgBox proname & " wird nun beendet"
process.terminate
MsgBox proname & " ist nun beendet"
end select
next
code ############
MfG IceBeer
coli
coli 02.12.2005 um 00:36:03 Uhr
Goto Top
hier kannst du einen bestimmten dienst 'apache' auslesen und seinen status sehen ...


strComputer = "."
Set objWMIServices = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colServices = objWMIServices.ExecQuery _
("Select * from Win32_Service where Name='apache'")

For Each objService in colServices
Wscript.Echo objService.State
Next

du kannst es in z.b. dienstestatus.vbs speichern und aus deiner batchdatei mit:

call dienstestatus.vbs herausrufen

coli
WaldSchr4T
WaldSchr4T 07.12.2005 um 08:33:49 Uhr
Goto Top
Vielen Dank! Wir haben eure Ideen quasi zusammengebaut und jetzt geht es!!!