http://dieseyer.de • all rights reserved • © 2011 v11.4
'*** 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 )
http://dieseyer.de • all rights reserved • © 2011 v11.4