| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
我如何确定进程是在哪个帐户下运行的?
我如何确定进程是在哪个帐户下运行的?
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-23 19:47:46
问:

嗨,Scripting Guy!我有一个脚本,它返回关于计算机上运行的所有进程的信息,只是我不知道如何获得这些进程在其下运行的用户帐户的名称。您可以帮助我吗?

-- DL

答:

您好,DL。是的,我们可以帮助您。确定进程是在哪个帐户下运行的,实际上相当简单,只是如何着手执行此操作并不是特别显而易见的。如果您与大多数人一样,那么您可能会通过扫描 Win32_Process 类的属性来查找名为 Account 或 UserName 或类似的属性。您很有可能找不到。出现这种情况的原因是:Win32_Process 没有可以告诉您进程在哪个帐户下运行的属性。

您需要使用“GetOwner”方法来捕捉此信息。下面这个脚本可以告诉您 Microsoft Word (Winword.exe) 在哪个帐户下运行:

 strComputer = "."Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")



Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'Winword.exe'")



For Each objProcess in colProcessList objProcess.GetOwner strUserName, strUserDomain Wscript.Echo "Process " & objProcess.Name & " is owned by " _ & strUserDomain & "/" & strUserName & "."Next 

我们最感兴趣的是下面这行代码:

 objProcess.GetOwner strNameOfUser, strUserDomain 

我们在此所做的就是调用“GetOwner”方法。GetOwner 返回两个“输出参数”,一个返回负责该进程的用户的名称,一个返回该用户所属的域。为捕获这两个输出参数,我们需要为 GetOwner 方法提供两个变量。在这个示例脚本中,我们使用了两个分别叫做 strUserName 和 strUserDomain 的变量。名称可以随意选择;您可以将变量称为 A 和 B 或 X 和 Y 或任何其他您想要的名称。

不过,变量的顺序不能随意设置:返回的第一个值总是用户名,第二个值总是域。这意味着,如果您希望用 X 表示用户名,用 Y 表示域,那么您要确保您的代码像下面这行代码一样:

 objProcess.GetOwner X, Y 

调用 GetOwner 之后,我们就可直接回显进程名和所有者。请注意,我们可以稍微来点儿花样儿 – 使用域/用户格式。这样,我们就可以回显类似于“fabrikam/kenmyer”的名称。

下面附带提供了另一个脚本,该脚本可以列出计算机上的所有进程以及各个进程的所有者:

 strComputer = "."Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")



Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process")



For Each objProcess in colProcessList objProcess.GetOwner strUserName, strUserDomain Wscript.Echo "Process " & objProcess.Name & " is owned by " _ & strUserDomain & "/" & strUserName & "."Next 

可能有人感到奇怪,2005 年 1 月 3 日正好是 Microsoft 员工的正式休息日。那么今天为什么会有“嗨,Scripting Guy!”专栏?这只能是由于 Microsoft 脚本专家表现出来的对工作的难以置信的奉献和投入精神。或者,也可能是由于某个脚本专家 – 还说不出他或她的名字 – 没有意识到今天是假日,所以照常来了(而且是在早上 7 点啊!)。

【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    如何在Internet Explore
    如何登录到已经到期的Wi
    如何恢复被破坏的Window
    Linux操作系统上如何阻止
    如何安全删除Windows XP
    如何监控和保护Linux下进
    如何提高Linux系统安全性
    LINUX下FTP服务器如何实
    如何添加/删除Windows X
    任务管理器杀不了的进程

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览