Jump to content

Windows Scripting Host


Gast freak
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

ueber 'reines' vbsript/wsh ist das m.M. nach nciht zu loesen, hier musst du dann mit wmi arbeiten, ab w2k aufwaerts ist es mit installiert

beispielcode


Dim wbemServices, wbemObjectSet
Dim  strComputer, wbemObject

const service = "dienstname"
strComputer = "rechner"

set wbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set wbemObjectSet = wbemServices.InstancesOf("Win32_Service")

For Each wbemObject in wbemObjectSet
  If UCase(wbemObject.Name) = UCase(service) And Not UCase(wbemObject.State) = UCase("running") Then
     wbemObject.StartService
     wshShell.LogEvent 4, "service: " & service & "start succesfully"
  End If
Next

 

regards

 

sfoc

Link zu diesem Kommentar

was hast du fuer ein system und was fuer eine Meldung bekommst

 

edit:

 

sorry, fehler gefunden

 


Option Explicit

'WScript.Sleep 1000

Dim wbemServices, wbemObjectSet, wshShell
Dim  strComputer, wbemObject

const service = "service"
strComputer = "rechner"

set wshShell = CreateObject("WScript.Shell")

set wbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set wbemObjectSet = wbemServices.InstancesOf("Win32_Service")

For Each wbemObject in wbemObjectSet
If UCase(wbemObject.Name) = UCase(service) And Not UCase(wbemObject.State) = UCase("running") Then
	wbemObject.StartService
	wshShell.LogEvent 4, "service: " & service & "start succesfully"
End If
Next

 

 

regards

 

sfoc

Link zu diesem Kommentar

Im moment sieht mein script wie folgt aus, aber wen ich dies ausführe und danach in den diensten nachschaue, so ist telnet immernoch auf manuell und nichtaktiv

 

 

Option Explicit

 

'WScript.Sleep 1000

 

Dim wbemServices, wbemObjectSet, wshShell

Dim strComputer, wbemObject

 

const service = "Telnet"

strComputer = "Support6"

 

set wshShell = CreateObject("WScript.Shell")

 

set wbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

set wbemObjectSet = wbemServices.InstancesOf("Win32_Service")

 

For Each wbemObject in wbemObjectSet

If UCase(wbemObject.Name) = UCase(service) And Not UCase(wbemObject.State) = UCase("running") Then

wbemObject.StartService

wshShell.LogEvent 4, "service: " & service & "start succesfully"

End If

Next

Link zu diesem Kommentar

das script geht nicht nach Anzeigename sondern nach servicename, daher wird der dienst nichtr gestartet, ich sollte dies mal dokumentieren, habe es aber nun geaendert siehe code

 


Option Explicit

'WScript.Sleep 1000

Dim wbemServices, wbemObjectSet, wshShell
Dim  strComputer, wbemObject

const service = "telnet"
strComputer = "."

set wshShell = CreateObject("WScript.Shell")

set wbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set wbemObjectSet = wbemServices.InstancesOf("Win32_Service")

For Each wbemObject in wbemObjectSet
' nach caption
If UCase(wbemObject.Caption) = UCase(service) And Not UCase(wbemObject.State) = UCase("running") Then
' nach servicename
'If UCase(wbemObject.Name) = UCase(service) And Not UCase(wbemObject.State) = UCase("running") Then
	wbemObject.StartService
	' protokolliere in eventlog
	wshShell.LogEvent 4, "service: " & service & "start succesfully"
End If
Next

 

nun muss es aber ;)

 

regards

 

sfoc

Link zu diesem Kommentar

Danke für Die korrektur.

 

Mein source sieht nun so aus. kannst du mir noch genau erklären für was die foreach-schleife ist???

 

 

Dim wbemServices, wbemObjectSet, wshShell

Dim strComputer, wbemObject

 

const service = "telnet"

strComputer = "."

 

set wshShell = CreateObject("WScript.Shell")

 

set wbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

set wbemObjectSet = wbemServices.InstancesOf("Win32_Service")

 

 

For Each wbemObject in wbemObjectSet

 

If UCase(wbemObject.Caption) = UCase(service) And Not UCase(wbemObject.State) = UCase("running") Then

 

 

wbemObject.StartService

 

End If

Next

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...