Системные свойства WSMAN и WMI
Я пытаюсь получить свойство __PATH в запросе WQL.
Когда я пытаюсь перечислить его, используя WSMAN и WQL-запрос, он возвращает только 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) в запросе перечисления?
1 ответ
Решение
__PATH
это WMI- специфичные метаданные.
Путь (в терминологии WMI) - это URL-подобный идентификатор ресурса, который помогает вам найти конкретный объект.
WSMan не разделяет эту концепцию, но описывает ресурсы, ссылаясь на ResourceURI (или имя класса, в вашем случае wmicimv2/Win32_Process
) и один или несколько ключевых селекторов, чтобы различать уникальный экземпляр. "Путь", как таковой, действительно содержится в этих двух частях информации:
PS C:\> (Get-WSManInstance wmicimv2/Win32_Process -SelectorSet {Handle = 4}).Caption
System