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


Вызов метода класса объектов Configuration Manager с помощью WMI

Чтобы вызвать метод класса поставщика SMS, в Configuration Manager используйте метод ExecMethod объекта SWbemServices для вызова методов, определенных классом .

Примечание.

Чтобы вызвать метод для экземпляра объекта, вызовите метод из объекта напрямую. Например, ObjectInstance.MethodName parameters.

Вызов метода класса объектов Configuration Manager

  1. Настройте подключение к поставщику SMS. Дополнительные сведения см. в статье Основы поставщика SMS.

  2. Используя SWbemServices, которые вы получаете на первом шаге, вызовите метод Get , чтобы получить определение класса.

  3. Создайте входные параметры в виде SWbemMethodSet.

  4. Используя экземпляр объекта SWbemServices, вызовите ExecMethod и укажите имя класса и входные параметры.

  5. Получите возвращаемое значение метода из свойства ReturnValue в возвращенном объекте SWbemObject .

Пример

В следующем примере проверяется запрос правила коллекции путем вызова метода класса ValidateQuerySMS_CollectionRuleQuery.

Сведения о вызове примера кода см. в разделе Вызов фрагментов кода Configuration Manager.

Sub ValidateQueryRule(connection, wqlQuery)

    Dim inParams
    Dim outParams
    Dim collectionRuleClass

    On Error Resume Next

    ' Obtain the class definition object of a SMS_CollectionRuleQuery object.
    Set collectionRuleClass = connection.Get("SMS_CollectionRuleQuery")

    If Err.Number<>0 Then
        Wscript.Echo "Couldn't get collection rule query object"
        Exit Sub
    End If

    ' Set up the in parameter.
    Set inParams = collectionRuleClass.Methods_("ValidateQuery").InParameters.SpawnInstance_
    inParams.WQLQuery = wqlQuery
    If Err.Number<>0 Then
        Wscript.Echo "Couldn't get in parameters object"
        Exit Sub
    End If

    ' Call the method.
    Set outParams = _
        connection.ExecMethod( "SMS_CollectionRuleQuery", "ValidateQuery", inParams)
    If Err.Number<>0 Then
        Wscript.Echo "Couldn't run method"
        Exit Sub
    End If

    If outParams.ReturnValue = True Then
        Wscript.Echo "Valid query"
    Else
        WScript.Echo "Not a valid query"
    End If
  End Sub

Этот пример метода имеет следующие параметры:

Параметр Тип Описание
connection — Управляемое: SWbemServices Допустимое подключение к поставщику SMS.
wqlQuery - String Строка запроса WQL. В этом примере SELECT * FROM SMS_R_System является допустимым запросом.

Компиляция программы

См. также

Общие сведения об объектах инструментирования управления Windows. Как подключиться к поставщику SMS в Configuration Manager с помощью WMI. Создание объекта Configuration Manager с помощью WMI. Удаление объекта Configuration Manager с помощью WMIHow to Modify a Configuration Manager объект с помощью WMI. Как выполнить асинхронный запрос Configuration Manager с помощью WMI. Выполнение синхронного запроса Configuration Manager с помощью WMIКак считывать Configuration Manager объект с помощью WMIКак считывать отложенные свойства с помощью WMI