Win32 _ 进程类

Win32 _ 进程 WMI 类表示操作系统上的进程。

以下语法从托管对象格式 (MOF) 代码中简化,包括所有继承的属性。

备注

有关 Windows 中的进程和线程的一般讨论,请参阅主题 " 进程和线程"。

语法

[Dynamic, Provider("CIMWin32"), SupportsCreate, CreateBy("Create"), SupportsDelete, DeleteBy("DeleteInstance"), UUID("{8502C4DC-5FBB-11D2-AAC1-006008C78BC7}"), DisplayName("Processes"), AMENDMENT]
class Win32_Process : CIM_Process
{
  string   CreationClassName;
  string   Caption;
  string   CommandLine;
  datetime CreationDate;
  string   CSCreationClassName;
  string   CSName;
  string   Description;
  string   ExecutablePath;
  uint16   ExecutionState;
  string   Handle;
  uint32   HandleCount;
  datetime InstallDate;
  uint64   KernelModeTime;
  uint32   MaximumWorkingSetSize;
  uint32   MinimumWorkingSetSize;
  string   Name;
  string   OSCreationClassName;
  string   OSName;
  uint64   OtherOperationCount;
  uint64   OtherTransferCount;
  uint32   PageFaults;
  uint32   PageFileUsage;
  uint32   ParentProcessId;
  uint32   PeakPageFileUsage;
  uint64   PeakVirtualSize;
  uint32   PeakWorkingSetSize;
  uint32   Priority = NULL;
  uint64   PrivatePageCount;
  uint32   ProcessId;
  uint32   QuotaNonPagedPoolUsage;
  uint32   QuotaPagedPoolUsage;
  uint32   QuotaPeakNonPagedPoolUsage;
  uint32   QuotaPeakPagedPoolUsage;
  uint64   ReadOperationCount;
  uint64   ReadTransferCount;
  uint32   SessionId;
  string   Status;
  datetime TerminationDate;
  uint32   ThreadCount;
  uint64   UserModeTime;
  uint64   VirtualSize;
  string   WindowsVersion;
  uint64   WorkingSetSize;
  uint64   WriteOperationCount;
  uint64   WriteTransferCount;
};

成员

Win32 _ Process 类具有以下类型的成员:

方法

Win32 _ Process 类具有这些方法。

方法 描述
AttachDebugger 为进程启动当前注册的调试器。
创建 创建一个新进程。
GetAvailableVirtualSize 检索可用于进程的可用虚拟地址空间的当前大小(以字节为单位)。
Windows server 2012、windows 8、windows 7、Windows server 2008 和 Windows Vista: 在 Windows 8.1 和 Windows Server 2012 R2 之前,此方法不受支持。
GetOwner 检索进程运行时所用的用户名和域名。
GetOwnerSid 检索进程所有者 (SID) 的安全标识符。
SetPriority 更改进程的执行优先级。
Terminate 终止进程及其所有线程。

属性

Win32 _ 进程 类具有以下属性。

标题

数据类型: 字符串

访问类型:只读

限定符: MaxLen (64) , DisplayName ( "Caption" )

对象的简短说明,即一行字符串。

此属性是从 CIM _ ManagedSystemElement继承而来的。

CommandLine

数据类型: 字符串

访问类型:只读

限定符: DisplayName ( "要启动进程的命令行" )

用于启动特定进程的命令行(如果适用)。

CreationClassName

数据类型: 字符串

访问类型:只读

限定符: CIM _ 密钥MaxLen (256) , DisplayName ( "类名称" )

创建实例时使用的类或子类的名称。 与类的其他键属性一起使用时,此属性允许唯一标识类及其子类的所有实例。

此属性继承自 CIM _ 进程

CreationDate

数据类型: datetime

访问类型:只读

限定符: FixedDisplayName ( "CreationDate" )

进程开始执行的日期。

此属性继承自 CIM _ 进程

CSCreationClassName

数据类型: 字符串

访问类型:只读

限定符: 传播 ( "CIM _ 操作系统CSCreationClassName") 、 CIM _ KeyMaxLen (256) 、 DisplayName (" 计算机系统类名 ")

作用域计算机系统的创建类名称。

此属性继承自 CIM _ 进程

CSName

数据类型: 字符串

访问类型:只读

限定符: 传播 ( "CIM _ 操作系统CSName") 、 CIM _ KeyMaxLen (256) 、 DisplayName (" Computer System Name ")

作用域计算机系统的名称。

此属性继承自 CIM _ 进程

说明

数据类型: 字符串

访问类型:只读

限定符: DisplayName ( "Description" )

对象的说明。

此属性是从 CIM _ ManagedSystemElement继承而来的。

ExecutablePath

数据类型: 字符串

访问类型:只读

限定符:特权 ( "SeDebugPrivilege" ) , MappingStrings ( "Win32API | Tool Help 结构 | MODULEENTRY32 | SzExePath" ) , DisplayName ( "可执行路径" )

进程的可执行文件的路径。

示例: "C: \ Windows \ System \Explorer.Exe"

ExecutionState

数据类型: uint16

访问类型:只读

限定符: DisplayName ( "执行状态" )

进程的当前操作条件。

此属性继承自 CIM _ 进程

未知 (0)

未知

其他 (1)

其他

Ready (2)

运行 (3)

阻止 (4)

已阻止

阻止挂起 (5)

暂停就绪 (6)

终止 (7)

已停止 (8)

(9) 增长

Handle

数据类型: 字符串

访问类型:只读

限定符: KeyMaxLen (256) 、 DisplayName ( "句柄" )

进程标识符。

此属性继承自 CIM _ 进程

HandleCount

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | HandleCount" ) , DisplayName ( "句柄计数" )

进程所拥有的打开句柄的总数。 HandleCount 是此进程中每个线程当前打开的句柄的总和。 句柄用于检查或修改系统资源。 每个句柄在内部维护的表中都有一个条目。 条目包含用于标识资源类型的资源和数据的地址。

InstallDate

数据类型: datetime

访问类型:只读

限定符: MappingStrings ( "MIF。DMTF | 组件 | 001.5 ") 、 DisplayName (" Install Date ")

安装对象的日期。 此对象可能在安装时没有写入此属性的值。

此属性是从 CIM _ ManagedSystemElement继承而来的。

KernelModeTime

数据类型: uint64

访问类型:只读

限定符: 重写 ( "KernelModeTime" ) , Units ( "100 毫微秒" )

内核模式下的时间(以毫秒为单位)。 如果此信息不可用,请使用值 0 (零) 。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

MaximumWorkingSetSize

数据类型: uint32

访问类型:只读

限定符: 特权 ( "SeDebugPrivilege" ) , MappingStrings ( "Win32 | WINNT。H | 配额 _ 限制 | MaximumWorkingSetSize ") , DisplayName (" 最大工作集大小 ") , 单位 (" kb ")

进程的最大工作集大小。 进程的工作集是对物理 RAM 中的进程可见的内存页集。 这些页是常驻的,可供应用程序使用,而不会触发页面错误。

示例:1413120

MinimumWorkingSetSize

数据类型: uint32

访问类型:只读

限定符: 特权 ( "SeDebugPrivilege" ) , MappingStrings ( "Win32 | WINNT。H | 配额 _ 限制 | MinimumWorkingSetSize ") , DisplayName (" 最小工作集大小 ") , 单位 (" kb ")

进程的最小工作集大小。 进程的工作集是对物理 RAM 中的进程可见的内存页集。 这些页是常驻的,可供应用程序使用,而不会触发页面错误。

示例:20480

名称

数据类型: 字符串

访问类型:只读

限定符: DisplayName ( "Name" )

负责该进程的可执行文件的名称,相当于任务管理器中的映像名称属性。

当由子类继承时,可以将属性重写为键属性。 该名称硬编码到应用程序本身,不受更改文件名的影响。 例如,即使您重命名 Calc.exe,名称 Calc.exe 仍将出现在任务管理器和检索该进程名称的任何 WMI 脚本中。

此属性是从 CIM _ ManagedSystemElement继承而来的。

OSCreationClassName

数据类型: 字符串

访问类型:只读

限定符: 传播 ( "CIM _ 操作系统CreationClassName") , CIM _ KeyMaxLen (256) , DisplayName (" 操作系统类名 ")

作用域操作系统的创建类名称。

此属性继承自 CIM _ 进程

OSName

数据类型: 字符串

访问类型:只读

限定符: 传播 ( "CIM _ 操作系统Name") , CIM _ KeyMaxLen (256) , DisplayName (" 操作系统名称 ")

作用域操作系统的名称。

此属性继承自 CIM _ 进程

OtherOperationCount

数据类型: uint64

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程和线程结构 | 系统 _ 进程 _ 信息 | OtherOperationCount" ) , DisplayName ( "其他操作计数" )

执行的非读取或写入操作的 i/o 操作数。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

OtherTransferCount

数据类型: uint64

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程和线程结构 | 系统 _ 进程 _ 信息 | OtherTransferCount" ) , DisplayName ( "其他传输计数" ) , 单位 ( "字节" )

不是读取或写入操作的操作期间传输的数据量。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

PageFaults

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | PageFaultCount" ) , DisplayName ( "页错误的数目" )

进程生成的页错误数。

示例:10

PageFileUsage

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | PagefileUsage" ) , DisplayName ( "页面文件使用情况" ) , 单位 ( "kb" )

进程当前正在使用的页面文件空间量。 此值与 TaskMgr.exe 中的 VMSize 值一致。

示例:102435

ParentProcessId

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | InheritedFromUniqueProcessId" ) , DisplayName ( "父进程 Id" )

创建进程的进程的唯一标识符。 进程标识符数字会重复使用,因此它们只在进程的生存期内标识进程。 ParentProcessId 标识的进程可能终止,因此 ParentProcessId 可能不会引用正在运行的进程。 此外, ParentProcessId 还可能会错误地引用重复使用进程标识符的进程。 您可以使用 CreationDate 属性来确定指定的父项是否是在创建该 Win32 _ 进程 实例所表示的进程之后创建的。

PeakPageFileUsage

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | PeakPagefileUsage" ) , DisplayName ( "峰值页面文件使用情况" ) , 单位 ( "kb" )

在进程的生存期内使用的最大页面文件空间量。

示例:102367

PeakVirtualSize

数据类型: uint64

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | PeakVirtualSize" ) , DisplayName ( "峰值虚拟 Address Space 用量" ) , Units ( "bytes" )

进程在任一时间使用的最大虚拟地址空间。 使用虚拟地址空间并不一定意味着使用相应的磁盘或主内存页。 不过,虚拟空间是有限的,如果使用太多,进程可能无法加载库。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

PeakWorkingSetSize

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | PeakWorkingSetSize" ) , DisplayName ( "峰值工作集大小" ) , 单位 ( "kb" )

进程的峰值工作集大小。

示例:1413120

Priority

数据类型: uint32

访问类型:只读

限定符: 重写 ( "priority" ) , MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | BasePriority" ) , DisplayName ( "Priority" )

计划操作系统中进程的优先级。 值越高,进程接收的优先级就越高。 优先级值的范围为 0 (零) ,这是最小优先级为31,这是最高优先级。

示例:7

PrivatePageCount

数据类型: uint64

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | PrivatePageCount" ) , DisplayName ( "Private Page Count" )

当前已分配的、只能由此 Win32 _ 进程 实例所表示的进程访问的页的当前数目。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

ProcessId

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程和线程结构 | 进程 _ 信息 | DwProcessId" ) , DisplayName ( "进程 Id" )

用于区分一个进程与另一个进程的数值标识符。 ProcessIDs 从进程创建到进程终止时有效。 终止后,可以将同一数字标识符应用到新进程。

这意味着不能单独使用 ProcessID 来监视特定进程。 例如,应用程序可能具有7的进程 Id,然后失败。 启动新进程时,可以为新进程分配 ProcessID 7。 因此,只为指定的 ProcessID 检查的脚本会 "欺骗",从而认为原始应用程序仍在运行。

QuotaNonPagedPoolUsage

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | QuotaNonPagedPoolUsage" ) , DisplayName ( "非分页池使用配额" )

进程的非分页池使用配额量。

示例:15

QuotaPagedPoolUsage

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | QuotaPagedPoolUsage" ) , DisplayName ( "页面缓冲池使用率配额" )

进程的分页池使用配额量。

示例:22

QuotaPeakNonPagedPoolUsage

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | QuotaPeakNonPagedPoolUsage" ) , DisplayName ( "非分页池使用配额峰值" )

进程的非分页缓冲池使用率的峰值配额。

示例:31

QuotaPeakPagedPoolUsage

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | QuotaPeakPagedPoolUsage" ) , DisplayName ( "峰值页面缓冲池使用率配额" )

进程的分页池使用率的峰值配额。

示例:31

ReadOperationCount

数据类型: uint64

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程和线程结构 | 系统 _ 进程 _ 信息 | ReadOperationCount" ) , DisplayName ( "读取操作计数" )

执行的读取操作数。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

ReadTransferCount

数据类型: uint64

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程和线程结构 | 系统 _ 进程 _ 信息 | ReadTransferCount" ) , DisplayName ( "读取传输计数" ) , 单位 ( "字节" )

读取的数据量。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

SessionId

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | SessionId" ) , DisplayName ( "Session Id" )

创建会话时操作系统生成的唯一标识符。 会话跨越一段时间,从登录到从特定系统注销。

Status

数据类型: 字符串

访问类型:只读

限定符: MaxLen (10) , DisplayName ( "Status" )

此属性未实现,并且不为此类的任何实例进行填充。 它始终为 NULL

此属性是从 CIM _ ManagedSystemElement继承而来的。

包括以下值:

确定 ( "确定" )

错误 ( "错误" )

降级 ( "降级" )

未知 的 ( "unknown" )

Pred 失败 ( "Pred fail" )

开始 ( "开始" )

正在停止 ( "正在停止" )

服务 ( "服务" )

压力 ( "压力" )

NonRecover ( "NonRecover" )

没有联系人 ( "无联系" )

通信丢失 ( "已丢失通信" )

TerminationDate

数据类型: datetime

访问类型:只读

限定符: DisplayName ( "终止日期" )

进程已停止或终止。 若要获取终止时间,进程的句柄必须保持打开状态。 否则,此属性返回 NULL

此属性继承自 CIM _ 进程

ThreadCount

数据类型: uint32

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | NumberOfThreads" ) , DisplayName ( "线程计数" )

进程中的活动线程数。 指令是处理器中的基本执行单位,线程是执行指令的对象。 每个正在运行的进程都有至少一个线程。

UserModeTime

数据类型: uint64

访问类型:只读

限定符: 重写 ( "UserModeTime" ) , Units ( "100 毫微秒" )

用户模式下的时间,以100毫微秒为单位。 如果此信息不可用,请使用值 0 (零) 。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

VirtualSize

数据类型: uint64

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程状态 | 系统 _ 进程 _ 信息 | VirtualSize" ) , DisplayName ( "虚拟地址空间使用情况" ) , 单位 ( "bytes" )

进程正在使用的虚拟地址空间的当前大小,而不是进程实际使用的物理内存或虚拟内存。 使用虚拟地址空间并不一定意味着使用相应的磁盘或主内存页。 虚拟空间是有限的,使用太多时,进程可能无法加载库。 此值与你在 Perfmon.exe 中看到的内容一致。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

WindowsVersion

数据类型: 字符串

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程和线程函数 | GetProcessVersion" ) , DisplayName ( "Windows 版本" )

运行进程的 Windows 的版本。

示例:4。0

WorkingSetSize

数据类型: uint64

访问类型:只读

限定符: DisplayName ( "工作集大小" ) , 单位 ( "字节" )

进程需要有效执行的内存量(以字节为单位),适用于使用基于页的内存管理的操作系统。 如果系统没有足够的内存 (小于工作集大小) ,则会发生抖动。 如果工作集的大小未知,请使用 NULL 或 0 (零) 。 如果提供了工作集数据,则可以监视信息,以了解进程的不断变化的内存需求。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

此属性继承自 CIM _ 进程

WriteOperationCount

数据类型: uint64

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程和线程结构 | 系统 _ 进程 _ 信息 | WriteOperationCount" ) , DisplayName ( "写入操作计数" )

执行的写入操作数。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

WriteTransferCount

数据类型: uint64

访问类型:只读

限定符: MappingStrings ( "Win32API | 进程和线程结构 | 系统 _ 进程 _ 信息 | WriteTransferCount" ) , DisplayName ( "写入传输计数" ) , 单位 ( "bytes" )

写入的数据量。

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

备注

Win32 _ 进程 类派生自 CIM _ 进程。 使用此类的调用进程在注册表驻留的计算机上必须具有 " SE _ 还原 _ 名称 " 特权。 有关详细信息,请参阅 执行特权操作

概述

处理几乎在计算机上发生的所有情况。 事实上,大多数计算机问题的根本原因都可以跟踪到进程;例如,可能在计算机上运行的进程太多 (和争用一组有限的资源) ,或者单个进程可能使用的资源超出了资源。 这些因素使得关闭对计算机上运行的进程的密切监视非常重要。 进程监视是流程管理中的主要活动,使您可以确定计算机的实际作用、计算机运行的应用程序以及这些应用程序如何受到计算环境中的更改的影响。

监视进程

定期监视进程可帮助你确保计算机以最高效率运行,并按预期执行其已确定的任务。 例如,通过监视进程,你可以立即收到已停止响应的任何应用程序的通知,然后采取步骤结束该进程。 此外,进程监视使你能够在问题发生之前识别问题。 例如,通过重复检查进程使用的内存量,您可以识别内存泄漏。 然后,你可以在残存错误应用程序使用所有可用内存之前停止该进程,并使计算机停止。

进程监视还有助于最大程度地减少因升级和维护计划中断而导致的中断。 例如,通过检查客户端计算机上运行的数据库应用程序的状态,您可以确定使数据库脱机以便升级软件所造成的影响。

监视进程可用性。 度量进程可用的时间百分比。 通常使用简单的探测来监视可用性,这会报告进程是否仍在运行。 通过跟踪每个探测的结果,可以计算进程的可用性。 例如,被探测100次并在这些情况下响应95的进程的可用性为95%。 通常会为数据库、邮件程序以及应始终运行的其他应用程序保留这种类型的监视。 这并不适合于 word 处理程序、电子表格或其他经常启动和停止的应用程序。

您可以创建 Win32 _ ProcessStartup 类的实例,以配置该过程。

可以使用 Win32 _ PerfFormattedData _ PerfProc _ 进程 类和 WMI 刷新器对象(如 SWbemRefresher)来监视进程性能。 有关详细信息,请参阅 监视性能数据

示例

TechNet 库中的 WMI 类 PowerShell 代码示例的 属性列表 描述了 Win32 _ Process 类,并以 Excel 格式输出结果。

多个服务器上的终止正在运行的进程将终止在一台或多台计算机上运行的进程。

示例中:调用提供程序方法 主题,代码使用 c + + 调用 Win32 _ 进程 来创建进程。

可用性是最简单的过程监视形式:通过此方法,只需确保进程正在运行。 监视进程可用性时,通常会检索计算机上运行的进程的列表,然后验证特定进程是否仍处于活动状态。 如果进程处于活动状态,则将其视为可用。 如果该进程未处于活动状态,则该进程不可用。 以下 VBScript 示例通过检查计算机上运行的进程的列表并在找不到 Database.exe 进程时发出通知来监视进程可用性。

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Database.exe'")
If colProcesses.Count = 0 Then
 Wscript.Echo "Database.exe is not running."
Else
 Wscript.Echo "Database.exe is running."
End If

以下 VBScript 示例使用临时事件使用者监视进程创建。

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent " _
                                                     & "WITHIN 10 WHERE TargetInstance ISA 'Win32_Process'")
i = 0
Do While i = 0
 Set objLatestProcess = colMonitoredProcesses.NextEvent
 Wscript.Echo objLatestProcess.TargetInstance.Name, Now
Loop

以下 VBScript 监视处理性能信息。

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
For Each objProcess in colProcessList
 Wscript.Echo "Process: " & objProcess.Name
 Wscript.Echo "Process ID: " & objProcess.ProcessID
 Wscript.Echo "Thread Count: " & objProcess.ThreadCount
 Wscript.Echo "Page File Size: " & objProcess.PageFileUsage
 Wscript.Echo "Page Faults: " & objProcess.PageFaults
 Wscript.Echo "Working Set Size: " & objProcess.WorkingSetSize
Next

下面的 VBScript 代码示例演示如何获取本地计算机上每个进程的所有者。 您可以使用此脚本从远程计算机获取数据,例如,确定哪些用户具有运行终端服务器的进程,并用远程计算机的名称替换第一行中的 "."。 您还必须是远程计算机上的管理员。

strComputer = "." 
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery("select * from win32_process" )
For Each objProcess in colProcesses

  If objProcess.GetOwner ( User, Domain ) = 0 Then
    Wscript.Echo "Process " & objProcess.Caption & " belongs to " & Domain & "\" & User
  Else
    Wscript.Echo "Problem " & Rtn & " getting the owner for process " & objProcess.Caption
  End If
Next

下面的 VBScript 代码示例演示如何获取与正在运行的进程相关联的登录会话。 在脚本开始之前,进程必须运行 Notepad.exe。 该示例定位与 Notepad.exe 表示的 win32 _ 进程 关联的 win32 _ LogonSession实例。 Win32 _SessionProcess 被指定为 association 类。 有关详细信息,请参阅associators of Of 语句。

On error resume next
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcesses
  ProcessId = objProcess.ProcessId
  Set colLogonSessions = objWMIService.ExecQuery("Associators of {Win32_Process='" & ProcessId & "'} " _
                                               & "Where Resultclass = Win32_LogonSession Assocclass = Win32_SessionProcess", "WQL", 48)
  If Err <> 0 Then
    WScript.Echo "Error on associators query= " & Err.number & " " & Err.Description
    WScript.Quit
  End If
  For Each LogonSession in colLogonSessions
    Wscript.Echo " Logon id is " & LogonSession.LogonId
  Next
Next

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
命名空间
根 \ CIMV2
MOF
CIMWin32
DLL
CIMWin32.dll

另请参阅

CIM _ 过程

操作系统类

WMI 任务:进程