'*** v6.7 *** www.dieseyer.de ******************************* ' ' Datei: wmi-aktive-vbs.vbs ' Autor: dieseyer@gmx.de ' Auf: www.dieseyer.de ' ' Die Prozedur prüft, wie oft ein VBS mit einem bestimmten Name ' mit "wscript.exe" oder "cscript.exe" gerade läuft. ' '************************************************************ Option Explicit ' Siehe http://dieseyer.de/dse-wsh-lernen.html#OptionExpl Dim TesteVBS, i TesteVBS = "kleINES.vbs" TesteVBS = WScript.ScriptFullName MsgBox TesteVBS & " läuft " & AnzahlLaufendeVBS( TesteVBS ) & "x", , WScript.ScriptName WScript.Quit '************************************************************** Function AnzahlLaufendeVBS( VBScripts ) '************************************************************** ' On Error Resume Next AnzahlLaufendeVBS = 0 Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20 Dim strComputer : strComputer = "." Dim objWMIService : Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Dim colItems : Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly) Dim objItem For Each objItem In colItems If InStr( LCase( objItem.CommandLine), LCase( VBScripts ) ) > 0 Then If InStr( LCase( objItem.CommandLine ), "script.exe" ) > 0 Then ' Txt = Txt & vbCRLF & objItem.CommandLine AnzahlLaufendeVBS = AnzahlLaufendeVBS + 1 End If End If Next ' MsgBox VBScripts & " läuft " & AnzahlLaufendeVBS & " mal!", , "Skriptende - " & WScript.ScriptName End Function ' AnzahlLaufendeVBS( VBScripts )