私は各コンピュータに接続するvbスクリプトをビルドしています。その目的は、SVCHOST
プロセス内で実行されるexeファイルを検出することです。VBScript SVCHOSTコンテナ検出
このexecがSVCHOST
の内部に存在する場合、どのように検出できますか?その場合、このexecに含まれるSVCHOST
プロセスを終了しますか?
あなたは、このコードで始めることができますあなたの
私は各コンピュータに接続するvbスクリプトをビルドしています。その目的は、SVCHOST
プロセス内で実行されるexeファイルを検出することです。VBScript SVCHOSTコンテナ検出
このexecがSVCHOST
の内部に存在する場合、どのように検出できますか?その場合、このexecに含まれるSVCHOST
プロセスを終了しますか?
あなたは、このコードで始めることができますあなたの
ありがとう:
Option Explicit
If Not WScript.Arguments.Named.Exists("elevate") Then
CreateObject("Shell.Application").ShellExecute WScript.FullName _
, WScript.ScriptFullName & " /elevate", "", "runas", 1
WScript.Quit
End If
Dim objWMI,colObjects,MyProcess,Process,TheProcess,DetectionProgram,MyPID
TheProcess = "svchost.exe"
DetectionProgram = "DcomLaunch"
Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
Set colObjects = objWMI.ExecQuery("Select * From Win32_Process where Caption='"& TheProcess &"'")
For Each Process in colObjects
MyProcess = MyProcess & Process.CommandLine & vbcrlf & "PID = " & Process.ProcessID & vbcrlf
Next
Wscript.Echo MyProcess
For Each Process in colObjects
If InStr(1,Ucase(Process.CommandLine),UCase(DetectionProgram)) >= 1 Then
MyPID = Process.ProcessID
wscript.echo "PID = " & MyPID
Call Kill(MyPID)
End If
Next
'****************************************************
Sub Kill(PID)
Dim Ws,Command,Execution
Set Ws = CreateObject("Wscript.Shell")
Command = "cmd /c Taskkill /F /PID "& PID &""
Execution = Ws.Run(Command,0,True)
Set Ws = Nothing
End Sub
'****************************************************
問題は、SVCHOSTの内部にあるものです。どのように選択するのですか?そのコードは私にプロセス名を与えるだけです... SVCHOSTには他のプロセスが含まれていて、exeは1つのSVCHOSTの内部にあります。そのSVCHOSTを選択して終了する必要があります – user6495763
@ user6495763最後の編集を確認してください – Hackoo
非常にスマート、ありがとうございました – user6495763
あなたの目的は何ですか?詳細をさらに記述してください! – Hackoo