New-CMQuery
Создайте запрос Configuration Manager.
Синтаксис
New-CMQuery
[-Comment <String>]
-Expression <String>
[-LimitToCollectionId <String>]
-Name <String>
[-TargetClassName <String>]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Используйте этот командлет для создания запроса в Configuration Manager.
Запросы Configuration Manager определяют выражение WMI Query Language (WQL) для получения сведений из базы данных сайта на основе предоставленных вами критериев. WQL похож на SQL, но по-прежнему проходит через поставщик SMS, а не непосредственно в базу данных. Поэтому WQL по-прежнему соответствует вашей конфигурации доступа на основе ролей.
Запросы могут возвращать большинство типов объектов Configuration Manager, включая компьютеры, сайты, коллекции, приложения и данные инвентаризации. Дополнительные сведения см. в статье Общие сведения о запросах в Configuration Manager.
По умолчанию Configuration Manager включает несколько запросов. Для проверки запросов по умолчанию можно использовать командлет Get-CMQuery . Дополнительные примеры выражений WQL см. в разделе Примеры запросов WQL.
Примечание.
Запустите командлеты Configuration Manager с диска сайта Configuration Manager, например PS XYZ:\>
. Дополнительные сведения см. в статье Начало работы.
Примеры
Пример 1. Создание запроса для серверов определенной версии
В этом примере создается новый запрос с именем Server 2016 , который ищет клиентов с заголовком ОС, который начинается с Microsoft Windows Server 2012. Он возвращает следующие три свойства: Name, Last logon user name и OS caption.
New-CMQuery -Name "Server 2016" -Expression 'select SMS_R_System.Name, SMS_R_System.LastLogonUserName, SMS_G_System_OPERATING_SYSTEM.Caption from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Caption like "Microsoft Windows Server 2012%"' -TargetClassName "SMS_R_System" -LimitToCollectionId "SMS00001"
Пример 2. Создание запроса для настольных устройств
В этом примере создается новый запрос с именем Настольные устройства , который ищет устройства с определенными значениями для свойства Типы корпусов класса System Enclosure . Он возвращает несколько свойств и ограничен определенной коллекцией.
New-CMQuery -Name "Desktop devices" -Expression 'select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ( "3", "4", "5","6", "7", "15","16")' -TargetClassName "SMS_R_System" -LimitToCollectionId "XYZ000049"
Параметры
-Comment
Укажите необязательный комментарий для дальнейшего определения запроса на сайте.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Confirm
Перед запуском командлет запросит подтверждение.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DisableWildcardHandling
Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Expression
Укажите инструкцию WQL, которая определяет атрибуты, отображаемые в результатах, и условия для ограничения результатов.
Инструкции WQL часто включают двойные кавычки ("
), поэтому задайте значение этого параметра в виде строки, заключенной в одинарные кавычки ('
).
Дополнительные примеры см. в разделе Примеры запросов WQL.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ForceWildcardHandling
Этот параметр обрабатывает подстановочные знаки и может привести к непредвиденному поведению (не рекомендуется). Его нельзя объединить с DisableWildcardHandling.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-LimitToCollectionId
Укажите, как настроить ограничение коллекции для этого запроса:
-
Не ограничивается коллекцией. Задайте для этого параметра значение пустой строки (
""
). Не используйте встроенную$null
переменную. -
Ограничение на коллекцию. Укажите идентификатор коллекции. Например,
"SMSDM003"
для коллекции Все клиенты рабочего стола и сервера . -
Запрос на сбор. Задайте для этого параметра значение
"<Prompt>"
.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Name
Укажите имя запроса.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TargetClassName
Укажите имя класса объектов, возвращаемого запросом. Существует множество типов объектов. В следующей таблице перечислены несколько общих имен классов с описанием из консоли Configuration Manager:
Имя класса | Описание |
---|---|
SMS_R_System |
Системный ресурс |
SMS_Program |
Программа |
SMS_R_UserGroup |
Ресурс группы пользователей |
SMS_R_User |
Ресурс User |
SMS_SiteAndSubsites |
Сайт и дочерние сайты |
SMS_R_UnknownSystem |
Неизвестный компьютер |
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске этого командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Выходные данные
IResultObject