WSMAN 和 WMI 系统属性

WSMAN and WMI System Properties

我正在尝试在 WQL 查询中检索 __PATH 属性。

当我尝试使用 WSMAN 和 WQL 查询枚举它时,它 returns 只有 ProcessId 。

Get-WSManInstance -Enumerate wmicimv2/* -filter "SELECT __PATH, ProcessId FROM Win32_Process"

但是很容易确定 __PATH 不为空。

Get-WmiObject -Query "SELECT __PATH, ProcessId FROM Win32_Process"  -Namespace root/cimv2 

为什么无法在枚举请求中检索 WMI 系统属性(如 __PATH)?

__PATHWMI 特定的元数据。

路径(在 WMI 术语中)是一个 URL-like 资源标识符,可帮助您定位特定对象。

WSMan 不共享该概念,但通过引用 ResourceURI(或 class 名称,在您的情况下 wmicimv2/Win32_Process)和一个或多个 key 选择器 来区分一个独特的实例。这样的"path",确实包含在这两条信息中:

PS C:\> (Get-WSManInstance wmicimv2/Win32_Process -SelectorSet {Handle = 4}).Caption
System