terminar solo remotos remotamente rebelde puede procesos proceso opción matar forzada forma finalizar este error encontro detener con cerrar vbscript windows-server-2003 kill

solo - ¿Cómo puedo matar un proceso, utilizando VBScript, iniciado por un usuario en particular?



taskkill error no se encontro el proceso (2)

Tengo varios usuarios ejecutando Attachemate en un servidor de Windows 2003. Quiero matar a attachemate.exe iniciado por user_1 sin matar attachemate.exe iniciado por user_2.

Quiero usar VBScript.



Puede usar esto para averiguar quién es el propietario del proceso, y una vez que lo tenga, puede usar Win32_Process para eliminar el proceso mediante el ID del proceso.

Detalles de clase de MSDN Win32_Process

MSDN Terminar un proceso con Win32_Process

Seguramente hay una forma más limpia de hacerlo, pero esto es lo que se me ocurrió. NOTA: Esto no se ocupa de múltiples procesos del mismo nombre, por supuesto, pero creo que puede trabajar esa parte con una matriz para contenerlos o algo así. :)

strComputer = "." strOwner = "A111111" strProcess = "''notepad.exe''" '' Connect to WMI service and Win32_Process filtering by name'' Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!//" _ & strComputer & "/root/cimv2") Set colProcessbyName = objWMIService.ExecQuery("Select * from Win32_Process Where Name = " _ & strProcess) '' Get the process ID for the process started by the user in question'' For Each objProcess in colProcessbyName colProperties = objProcess.GetOwner(strUsername,strUserDomain) if strUsername = strOwner then strProcessID = objProcess.ProcessId end if next '' We have the process ID for the app in question for the user, now we kill it'' Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process where ProcessId =" & strProcessID) For Each objProcess in colProcess objProcess.Terminate() Next