У меня есть этот код, чтобы удаленно убить определенный процесс на 5 серверах. Моя проблема в том, что я хочу сократить его и убить процесс на всех серверах за 1 клик. Теперь код спрашивает, уверен ли я, что я хочу убить процесс, а затем убивает процесс, а затем спрашивает, хочу ли я перейти к следующему серверу. я хотел бы просто иметь messge говоря, «процесс Убийство на всех серверах» и сделалУдаленное убийство процесса в 1 кадре
`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'"
For item = 0 To 4 Step 1
if MsgBox("Are you sure you want to kill " & strProcessKill & " on " & strCOmputer(item) & "?" , vbYesNo + vbQuestion) = vbYes then
killFLag = 1
end if
if KillFlag = 1 then
msgbox "KILLING PROCESS ON" & strComputer(item)
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
WSCript.Echo "Just killed process " & strProcessKill & " on " & strComputer(item)
else
WScript.Quit
end if
Next`
ТОЧНО, что мне нужно, я думал слишком тяжело. Большое спасибо за помощь!!!!!!!!!!!!!!!!!!! – Neil
** ОБНОВЛЕНИЕ ** код по какой-то причине больше не работает, ничего не изменилось. когда скрипт запускается, он поднимается до окна msg «процесс убийства на всех серверах», я нажимаю ok, и скрипт, похоже, уходит, не делая ничего. Есть идеи?? – Neil
, вы можете попробовать войти в текстовый файл, чтобы увидеть, что происходит, или даже просто добавить некоторое число wscript.echo в цикле for, чтобы увидеть, где заканчивается сценарий. – jjeff