【问题标题】:Get specific objects from Win32_PnpAllocatedResource从 Win32_PnpAllocatedResource 获取特定对象
【发布时间】:2016-04-14 15:19:18
【问题描述】:
所以我想获得那些使用给定内存区域(例如起始地址 = 655360)的 Pnp 设备。我正在使用 CIM/WMI,并且以下命令将获取资源和 PnpEntity 关联:
Get-CimInstance -ClassName Win32_PnpAllocatedResource
但是在那之后我怎样才能获得与 Win32_DeviceMemoryAddress 关联的 Win32_PnpEntity,它的起始地址是 655360?
【问题讨论】:
标签:
powershell
winapi
wmi
【解决方案1】:
所以您想要的字段是Antecedent 属性。你只想要那些涉及内存分配的,而那些你只想要那些从 655360 开始的。这真的是基本的东西,如果你需要问如何使用 Where 语句,你可能需要去看看在互联网上了解如何过滤数组或其他内容,以获得更详细的说明以引导您完成操作。
Get-CimInstance -ClassName Win32_PnpAllocatedResource | Where{$_.Antecedent -like 'Win32_DeviceMemoryAddress (StartingAddress = 655360)'}
这只会返回起始地址为 655360 的条目。理论上,您应该能够使用-eq,但在这种情况下,它似乎无法按预期工作,因此该值可能包含隐藏字符,或者可能是[String] 以外的值类型,因此我们必须使用-Like 或-Match,在这种情况下-Like 可以正常工作,并且不那么复杂。