2009-02-24 3 views
0

(PS Version 1)Powershell WMI ROOT MicrosoftExchangev2 и WQL, где использование

PS C:\> $query = 'Select * From Exchange_PublicFolder WHERE Path LIKE "/Foo%"' 
PS C:\> $query 
Select * From Exchange_PublicFolder WHERE Path LIKE "/Foo%" 
PS C:\> gwmi -namespace ROOT\MicrosoftExchangev2 -query $query 
Get-WmiObject : Provider is not capable of the attempted operation 
At line:1 char:5 
+ gwmi <<<< -namespace ROOT\MicrosoftExchangev2 -query $query 

Это не имеет никакого значения, если я пытаюсь назначить запрос к переменной первой или нет. Может быть, проблема с ключевым словом WQL WHERE? Я могу выполнить запрос без него просто отлично:

PS C:\> (gwmi -namespace ROOT\MicrosoftExchangev2 -query "Select * From Exchange_PublicFolder").count 
711 

Это не будет огромное дело для фильтрации позже в трубопроводе, но я пытаюсь понять, что я делаю неправильно здесь :)

+0

Google намекает, что на самом деле это что-то происходит от тайной системы WMI, но я не нахожу много деталей. – slipsec

ответ

1

Я не думаю, что вы делаете что-то не так, просто провайдер не способен обработать ваш запрос (как заявляет ошибка). Кажется, что использование LIKE в отношении какого-либо свойства не поддерживается, вы можете использовать «=», но это не то, что вы ищете :( IMO, используя Where-Object - это способ пойти в этом случае.

Смежные вопросы