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-Key: 20762

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

Printed on: April 16, 2024 at 08:04 o'clock

Mitglied: 11078
11078 Dec 01, 2005 at 11:07:00 (UTC)
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
Member: IceBeer
IceBeer Dec 01, 2005 at 11:09:17 (UTC)
Goto Top
Hallo,

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

Gruß IceBeer
Member: WaldSchr4T
WaldSchr4T Dec 01, 2005 at 15:36:55 (UTC)
Goto Top
Vielen Dank für die Hilfe! Doch mittlerweile Wollen wir das Problem doch mit WSH lösen...
Member: IceBeer
IceBeer Dec 01, 2005 at 17:28:51 (UTC)
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
Member: coli
coli Dec 01, 2005 at 23:36:03 (UTC)
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
Member: WaldSchr4T
WaldSchr4T Dec 07, 2005 at 07:33:49 (UTC)
Goto Top
Vielen Dank! Wir haben eure Ideen quasi zusammengebaut und jetzt geht es!!!