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

Printed on: April 19, 2024 at 02:04 o'clock

Member: Snowman25
Snowman25 Nov 04, 2013 at 15:39:39 (UTC)
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
Member: colinardo
colinardo Nov 04, 2013 updated at 18:10:42 (UTC)
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
Member: Yannosch
Yannosch Nov 05, 2013 at 10:17:13 (UTC)
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
Member: Snowman25
Snowman25 Nov 05, 2013 at 10:20:18 (UTC)
Goto Top
Zitat von @Yannosch:
Thread ist gelöst ! face-smile -
Dann mach bitte auch ein Häckchen dran face-smile
How can I mark a post as solved?