Udostępnij za pośrednictwem


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ż

Windows Management InstrumentationObjects overviewHow to Connect to an SMS Provider in Configuration Manager by Using WMIHow to Create a Configuration Manager Object by Using WMIHow to Delete a Configuration Manager Object by Using WMIHow to Modify a Configuration Manager obiektu za pomocą usługi WMIJak wykonać asynchroniczne zapytanie Configuration Manager przy użyciu usługi WMIJak wykonać synchroniczne zapytanie Configuration Manager przy użyciu usługi WMIJak odczytać Configuration Manager obiektu przy użyciu usługi WMIJak odczytywać właściwości z opóźnieniem przy użyciu usługi WMI