当前位置:  开发笔记 > 后端 > 正文

如何使用VBScript杀死由特定用户启动的进程

如何解决《如何使用VBScript杀死由特定用户启动的进程》经验,为你挑选了1个好方法。

我有多个用户在Windows 2003服务器上运行attachemate.我想杀死user_1启动的attachemate.exe而不杀死user_2启动的attachemate.exe.

我想使用VBScript.



1> unrealtrip..:

您可以使用它来查找进程所有者是谁,然后一旦有了,您可以使用Win32_Process通过进程ID终止进程.

MSDN Win32_Process类详细信息

MSDN使用Win32_Process终止进程

肯定有一种更清洁的方法可以做到这一点,但这就是我想出来的.注意:这当然不涉及同名的多个进程,但我认为你可以使用数组来处理它们或类似的东西.:)

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

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有