Invoke-CMWmiQuery
Выполните запрос WMI.
Синтаксис
Invoke-CMWmiQuery
[-Context <Hashtable>]
[-Option <QueryOptions>]
[-Query] <String>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CMWmiQuery
-ClassName <String>
[-Context <Hashtable>]
[-Option <QueryOptions>]
-Search <SmsProviderSearch>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Invoke-CMWmiQuery выполняет запрос инструментария управления Windows (WMI). В отличие от других командлетов запросов или средств, с помощью этого командлета подключение и пространство имен уже настроены для вас.
Этот командлет также можно использовать для создания запроса с использованием языка запросов WMI (WQL). Configuration Manager использует WQL для запросов в коллекциях. WQL похож на SQL, но по-прежнему использует поставщик SMS, поэтому соблюдает управление доступом на основе ролей.
Примечание.
Запустите командлеты Configuration Manager с диска сайта Configuration Manager, например PS XYZ:\>
. Дополнительные сведения см. в статье Начало работы.
Примеры
Пример 1. Выполнение WQL-запроса
Первая команда создает запрос WQL и сохраняет его в переменной $WQL . Вторая команда выполняет запрос, хранящийся в переменной.
$WQL = @"
SELECT app.* FROM SMS_ApplicationLatest AS app
INNER JOIN SMS_CIContentPackage AS con ON app.CI_ID=con.CI_ID
INNER JOIN SMS_DistributionPoint AS srv ON con.PackageID=srv.PackageID
WHERE app.IsHidden = 0
"@
Invoke-CMWmiQuery -Query $WQL -Option Lazy
Пример 2. Выполнение запроса WMI для коллекций устройств
Первая команда создает объект поиска и сохраняет его в переменной $Search .
Вторая команда указывает, что порядок поиска возрастает по CollectionID.
Третья команда добавляет параметры поиска в объект $Search . В этом случае запрос выполняет поиск коллекций устройств.
Последняя команда выполняет запрос, хранящийся в $Search. Он указывает SMS_Collection как класс, содержащий свойство CollectionID .
$Search = [Microsoft.ConfigurationManagement.PowerShell.Provider.SmsProviderSearch]::new()
$Search.AddOrder("CollectionID", [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOrderBy]::Asc)
$Search.Add("Name","DeviceCol*", $True)
Invoke-CMWmiQuery -Search $Search -ClassName "SMS_Collection" -Option Lazy
Пример 3. Выполнение запроса WMI для сайтов по состоянию
Первая команда очищает параметры поиска из любого существующего объекта поиска.
Вторая команда добавляет параметры поиска в объект $Search . В этом случае запрос выполняет поиск сайтов.
Последняя команда выполняет запрос, хранящийся в $Search. Он указывает SMS_Site в качестве класса, содержащего свойство site Status .
$Search.Clear()
$Search.Add("Status", $True)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
Пример 4. Выполнение запроса WMI для сайтов по имени
Первая команда очищает параметры поиска из любого существующего объекта поиска.
Вторая команда добавляет параметры поиска в объект $Search . В этом случае запрос выполняет поиск сайтов.
Последняя команда выполняет запрос, хранящийся в $Search. Он указывает SMS_Site как класс, содержащий свойство SiteName .
$Search.Clear()
$Search.Add("SiteName", $null, [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOperator]::NotEquals)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
Пример 5. Выполнение запроса WMI для приложений
Первая команда очищает параметры поиска из любого существующего объекта поиска.
Вторая команда добавляет параметры поиска в объект $Search . В этом случае запрос ищет приложения.
Последняя команда выполняет запрос, хранящийся в $Search. Он указывает SMS_Application как класс, содержащий свойство site CI_ID .
$Search.Clear()
$Search.AddAdhoc("CI_ID > 0")
Invoke-CMWmiQuery -ClassName "SMS_Application" -Search $Search -Option Lazy
Параметры
-ClassName
Указывает класс WMI Configuration Manager, к которому требуется выполнить запрос.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Confirm
Перед запуском командлет запросит подтверждение.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Context
Укажите контекст WMI в качестве хэш-таблицы. Это список пар "имя-значение", передаваемых поставщику WMI, который поддерживает сведения о контексте для настраиваемой операции.
Тип: | Hashtable |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DisableWildcardHandling
Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ForceWildcardHandling
Этот параметр обрабатывает подстановочные знаки и может привести к непредвиденному поведению (не рекомендуется). Его нельзя объединить с DisableWildcardHandling.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Option
Наиболее распространенным вариантом является Fast
.
Укажите параметр запроса:
-
None
:По умолчанию -
Lazy
: по умолчанию командлет загружает отложенные свойства. -
Fast
: используйте этот параметр, чтобы не загружать отложенные свойства. Этот параметр позволяет быстрее возвращать результаты для некоторых классов. -
ExpectResults
ExpectResultsThrowException
&. Если запрос не возвращает результатов, создайте исключение. Это исключение обычно завершает скрипт. -
FastExpectResults
LazyExpectResults
&: эти параметры объединяютFast
иLazy
сExpectResults
. -
ExpectResultsSoftFail
: если запрос не возвращает результатов, выведите ошибку, но не завершайте сценарий.
Дополнительные сведения о отложенных свойствах см. в разделе Отложенные свойства Configuration Manager.
Следующие значения предназначены только для внутреннего использования:
- Клонировать
- NoMask
- NoRefresh
- IgnoreNoResults
Тип: | QueryOptions |
Aliases: | Options |
Допустимые значения: | None, NoRefresh, Lazy, Fast, ExpectResults, FastExpectResults, LazyExpectResults, Clone, ExpectResultsSoftFail, ExpectResultsThrowException, NoMask, IgnoreNoResults |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Query
Указывает инструкцию WMI Query Language (WQL).
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Search
Указывает объект SMSProviderSearch .
Тип: | SmsProviderSearch |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске этого командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Выходные данные
IResultObject[]
IResultObject