yannosch
Goto Top

VBS: lokale Dienste !

Guten Tag liebe Community ! face-smile

Ich Möchte alle laufenden Dienste in eine Datei schreiben und alle gestoppten/beendeten Dienste in eine andere Datei.
Folgendes habe ich Programmiert und es läuft auch Fehlerfrei ... nur irgendwie steht in beiden txt-Dateien das selbe drin ... o.Ä. ..


Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")  
Set colListOfServices = objWMIService.ExecQuery("Select * from Win32_Service Where State = 'Running'")  
   For Each objItem in colListOfServices
	If objItem.Name <> "" Then  
		allServices = allServices & objItem.Name & vbnewline
	End If
  Next
Set fso = CreateObject("Scripting.FileSystemObject")  
Set meineDatei = fso.CreateTextFile("c:\Running_Services.txt")  
meineDatei.writeline ("Bitte das Notepad schließen, damit das Script weiterläuft!" & vbnewline & allServices)  
Set objShell = CreateObject("WScript.Shell")  
objShell.Run "notepad " & "c:\Running_Services.txt", 1, true  
meineDatei.Close

und das selbe nochmal ... nur mit einer anderen Datei und mit allen "Gestoppten/Beendeten" Diensten die in die Datei geschrieben werden sollen.

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")  
Set colListOfServices = objWMIService.ExecQuery("Select * from Win32_Service Where State = 'Stopped'")  
  For Each objItem in colListOfServices
	If objItem.Name <> "" Then  
		allServices = allServices & objItem.Name & vbnewline
	End If
  Next
Set fso = CreateObject("Scripting.FileSystemObject")  
Set meineDatei2 = fso.CreateTextFile("c:\Not_Running_Services.txt")  
meineDatei2.writeline ("Bitte das Notepad schließen, damit das Script weiterläuft!" & vbnewline & allServices)  
Set objShell = CreateObject("WScript.Shell")  
objShell.Run "notepad " & "c:\Not_Running_Services.txt", 1, true  
meineDatei2.Close

Was ist den daran falsch ? ... Liegt es an der WMI-Abfrage? .. ~ Where State = 'Stopped' ? ... keine Ahnung woran das liegen kann...

Liebe Grüße von
Y@nnosch! face-smile

Content-Key: 221096

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

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: Snowman25
Snowman25 04.11.2013 um 16:39:39 Uhr
Goto Top
Hey @Yannosch,

Bei mir funktionieren beide Skripte. Führst du es auch als Administrator aus?
Du solltest jedoch eine Zugriff Verweigert!-Meldung aus Zeile 9 bekommen, wenn du es als normaler User ausführst.

Gruß,
@Snowman25
Mitglied: colinardo
colinardo 04.11.2013 aktualisiert um 19:10:42 Uhr
Goto Top
Hallo Yannosch,
wenn der Code zusammen in einer VBS-Datei steht und du die Funktionen darin mehrfach aufrufst solltest du die Variable allServices vor dem Befüllen vor der FOR-EACH-Schleife mit
allServices = ""
leeren.

Grüße Uwe
Mitglied: Yannosch
Yannosch 05.11.2013 um 11:17:13 Uhr
Goto Top
Hey Uwe! - Vielen Dank , hätte ich auch selbst drauf kommen können :x
weil er schreibt jedes mal immer mehr und mehr rein ... ist mir auch anfangs nicht aufgefallen ... aber danke nochmal face-smile

Thread ist gelöst ! face-smile -

Liebe Grüße von
Y@nnosch!! face-smile
Mitglied: Snowman25
Snowman25 05.11.2013 um 11:20:18 Uhr
Goto Top
Zitat von @Yannosch:
Thread ist gelöst ! face-smile -
Dann mach bitte auch ein Häckchen dran face-smile
Wie kann ich einen Beitrag als gelöst markieren?