Vbscript 在一次射击中远程终止进程

Vbscript 在一次射击中远程终止进程,vbscript,Vbscript,我有这个代码可以远程杀死5台服务器上的某个进程。我的问题是,我想缩短它并在一次单击中终止所有服务器中的进程。代码现在询问我是否确定要终止进程,然后终止进程,然后询问我是否要继续到下一个服务器。我只想有一个消息说,“杀死所有服务器上的进程”,并完成 接下来`将for循环向下移动,这样就不会提示您输入每台服务器。像这样的东西应该有用 Option Explicit Dim objWMIService, objProcess, colProcess Dim strProcessKill, item D

我有这个代码可以远程杀死5台服务器上的某个进程。我的问题是,我想缩短它并在一次单击中终止所有服务器中的进程。代码现在询问我是否确定要终止进程,然后终止进程,然后询问我是否要继续到下一个服务器。我只想有一个消息说,“杀死所有服务器上的进程”,并完成


接下来`

将for循环向下移动,这样就不会提示您输入每台服务器。像这样的东西应该有用

Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strProcessKill, item
Dim strComputer(4)
Dim ans, killFLag

strComputer(0) = "server1"
strComputer(1) = "server2"
strComputer(2) = "server3"
strComputer(3) = "server4"
strComputer(4) = "server5"


    strProcessKill = "'notepad.exe'" 

if MsgBox("Are you sure you want to kill " & strProcessKill & " on all servers?" , vbYesNo + vbQuestion) = vbYes then
    killFLag = 1
end if


if KillFlag = 1 then
    msgbox "KILLING PROCESS ON ALL SERVERS" 
    For item = 0 To 4 Step 1
        Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer(item) & "\root\cimv2") 

        Set colProcess = objWMIService.ExecQuery _
        ("Select * from Win32_Process Where Name = " & strProcessKill)
            For Each objProcess in colProcess
                objProcess.Terminate()
            Next 

    next
    msgBox "Done"
else

WScript.Quit 

end if

向下移动for循环,这样就不会提示您输入每台服务器。像这样的东西应该有用

Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strProcessKill, item
Dim strComputer(4)
Dim ans, killFLag

strComputer(0) = "server1"
strComputer(1) = "server2"
strComputer(2) = "server3"
strComputer(3) = "server4"
strComputer(4) = "server5"


    strProcessKill = "'notepad.exe'" 

if MsgBox("Are you sure you want to kill " & strProcessKill & " on all servers?" , vbYesNo + vbQuestion) = vbYes then
    killFLag = 1
end if


if KillFlag = 1 then
    msgbox "KILLING PROCESS ON ALL SERVERS" 
    For item = 0 To 4 Step 1
        Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer(item) & "\root\cimv2") 

        Set colProcess = objWMIService.ExecQuery _
        ("Select * from Win32_Process Where Name = " & strProcessKill)
            For Each objProcess in colProcess
                objProcess.Terminate()
            Next 

    next
    msgBox "Done"
else

WScript.Quit 

end if

正是我所需要的,我想的太多了哈哈。非常感谢你的帮助!!!!!!!!!!!!!!!!!!!由于某种原因,更新代码不再工作,没有任何更改。当脚本运行时,会出现消息框“在所有服务器上终止进程”,我单击ok,脚本似乎会在没有发生任何事情的情况下退出。有什么想法吗?你可以尝试登录到一个文本文件来查看发生了什么,甚至只是在for循环中添加一些wscript.echo来查看脚本的结束位置。这正是我所需要的,我想得太多了哈哈。非常感谢你的帮助!!!!!!!!!!!!!!!!!!!由于某种原因,更新代码不再工作,没有任何更改。当脚本运行时,会出现消息框“在所有服务器上终止进程”,我单击ok,脚本似乎会在没有发生任何事情的情况下退出。有什么想法吗?您可以尝试登录到一个文本文件来查看发生了什么,甚至可以在for循环中添加一些wscript.echo来查看脚本的结束位置。