2015-11-03 5 views
0

Я пытаюсь получить свойство __PATH в WQL-запросе.Свойства системы WSMAN и WMI

Когда я пытаюсь перечислить его с использованием 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 
+0

вы должны добавить @ к {Handle = 4} – John

+0

Я задал этот вопрос на майкрософт форуме и получил тот же вопрос https: //social.msdn.microsoft.com/Forums/en-US/38ce6e82-cbe5-44c7-98c5-9dc8a8701e9f/wsman-and-wmi-system-properties?forum=os_windowsprotocols – John

+0

@ Джон абсолютно прав, опечатка с моей стороны. Пожалуйста, предложите отредактировать –