Поделиться через


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