How to Call a Configuration Manager Object Class Method by Using WMI (Jak wywołać metodę klasy obiektów Configuration Manager przy użyciu usługi WMI)

Aby wywołać metodę klasy dostawcy programu SMS, w Configuration Manager użyj metody ExecMethod obiektu SWbemServices, aby wywołać metody zdefiniowane przez klasę.

Uwaga

Aby wywołać metodę w wystąpieniu obiektu, wywołaj metodę bezpośrednio z obiektu. Na przykład ObjectInstance.MethodName parameters.

Aby wywołać metodę klasy obiektu Configuration Manager

  1. Skonfiguruj połączenie z dostawcą programu SMS. Aby uzyskać więcej informacji, zobacz Podstawy dostawcy programu SMS.

  2. Korzystając z usługi SWbemServices, którą uzyskasz w kroku 1, wywołaj polecenie Pobierz , aby uzyskać definicję klasy.

  3. Utwórz parametry wejściowe jako zestaw SWbemMethodSet.

  4. Za pomocą wystąpienia obiektu SWbemServices wywołaj polecenie ExecMethod i określ nazwę klasy i parametry wejściowe.

  5. Pobierz wartość zwracaną przez metodę z właściwości ReturnValue w zwróconym obiekcie SWbemObject .

Przykład

Poniższy przykład weryfikuje zapytanie reguły kolekcji, wywołując metodę klasy SMS_CollectionRuleQuery ValidateQuery.

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu 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  

Ta przykładowa metoda ma następujące parametry:

Parametr Wpisać Opis
connection — Zarządzane: SWbemServices Prawidłowe połączenie z dostawcą programu SMS.
wqlQuery - String Ciąg zapytania WQL. W tym przykładzie SELECT * FROM SMS_R_System jest prawidłowym zapytaniem.

Kompilowanie kodu

Zobacz też

Instrumentacja zarządzania systemem Windows
Omówienie obiektówJak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu usługi WMI
Jak utworzyć obiekt Configuration Manager przy użyciu usługi WMI
Jak usunąć obiekt Configuration Manager przy użyciu usługi WMI
Jak zmodyfikować obiekt Configuration Manager przy użyciu usługi WMI
Jak wykonać asynchroniczne zapytanie Configuration Manager przy użyciu usługi WMI
Jak wykonać synchroniczne zapytanie Configuration Manager przy użyciu usługi WMI
Jak odczytać obiekt Configuration Manager przy użyciu usługi WMI
Jak odczytywać właściwości z opóźnieniem przy użyciu usługi WMI