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


Вызов метода класса объектов 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 (WMI)
Общие сведения об объектах. Подключение к поставщику SMS в Configuration Manager с помощью WMI
Создание объекта Configuration Manager с помощью WMI
Удаление объекта Configuration Manager с помощью WMI
Изменение объекта Configuration Manager с помощью WMI
Выполнение асинхронного запроса Configuration Manager с помощью WMI
Выполнение синхронного запроса Configuration Manager с помощью WMI
Чтение объекта Configuration Manager с помощью WMI
Чтение отложенных свойств с помощью WMI