PDA

Bekijk Volledige Versie : Wie kan een object maken waarmee ik een service kan restarten in Windows?



bijtvuur
14/02/05, 12:19
Hoi,

Ik wil de IPSEC service vanuit een ASP kunnen disablen. Opzich is de wijziging in de registry aanbrengen al met een stukje ASP-code gelukt. Maar de firewall blijft aan staan omdat de service nog moet worden herstart. Daarom zoek ik een methode om de juiste service/services te restarten zodat het script helemaal werkt zoals dat zou moeten.

Wie kan mij hiermee helpen?

Het is uiteindelijk de bedoeling dat degene het totale script (dat ik dus voor een gedeelte aanlever) even in een test-omgeving opzet zodat ik het daarna direct kan gebruiken. Dit in verband met tijdsnood waar ik in verkeer.

Hier staat natuurlijk een vergoeding tegenover...

flybyfibre
14/02/05, 13:24
ik weet niet hoe hoog je tijdnood is, maar op
http://www.andreavb.com/tip060002.html
staat de VB5/6 code om dit te doen. Bak er een dll van en je bent klaar.

dotnetjunkie
14/02/05, 19:30
Ik kan dit voor jou maken in de vorm van een .aspx pagina. Is dat goed? Zoja, dan wil ik het voor 15 EUR wel doen (of 2 .nl domeintjes is ook goed :))

MediaServe
14/02/05, 20:08
ASP:
<% ProcessName = "SMTPSVC"

SET WMIService = GetObject("winmgmts:\\.\root\cimv2")
SET Win32_Service = WMIService.ExecQuery("SELECT * FROM Win32_Service WHERE Name = '" & ProcessName & "'")

FOR EACH ServiceProcess IN Win32_Service

IF ServiceProcess.State = "Running" THEN

StatusCode = 5
DO WHILE StatusCode <> 0
StatusCode = ServiceProcess.StopService()
LOOP

StatusCode = 10
DO WHILE StatusCode <> 0
StatusCode = ServiceProcess.StartService()
LOOP

ELSE

StatusCode = 10
DO WHILE StatusCode <> 0
StatusCode = ServiceProcess.StartService()
LOOP

END IF

NEXT %>Voor vragen of uitbreidingen: Gebruik dit topic :)

Ik gebruik hier in het voorbeeld Microsoft SMTP server om te restarten, maar je kunt hier alle services mee restarten uiteraard :)

bijtvuur
14/02/05, 22:07
Thanks! Ik had al een soortgelijk script geprobeerd, dat ging niet, maar in de testomgeving lijkt nu alles te lukken!
Vincent

MediaServe
15/02/05, 00:32
Geen probleem :)
Ik weet niet hoeveel kennis je zelf hebt van ASP, maar het zou handig zijn om een time-out te bouwen in de LOOP's. Als een service niet meer wil opstarten is het handig om na een halve minuut te stoppen met proberen en eventueel een mail te sturen naar de Administrator.

Mocht je nog hulp nodig hebben dan laat het maar weten, zolang er niet teveel tijd in gaat zitten doe ik dit voor de hobby :)