Een Configuration Manager-objectklassemethode aanroepen met behulp van WMI
Als u een SMS Provider-klassemethode wilt aanroepen, gebruikt u in Configuration Manager de methode SWbemServices-objectExecMethod om methoden aan te roepen die zijn gedefinieerd door de klasse.
Opmerking
Als u een methode wilt aanroepen op een objectexemplaren, roept u de methode rechtstreeks vanuit het object aan. Bijvoorbeeld ObjectInstance.MethodName parameters
.
Een Configuration Manager-objectklassemethode aanroepen
Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.
Gebruik de SWbemServices die u in stap één hebt verkregen en roep Get aan om de klassedefinitie op te halen.
Maak de invoerparameters als een SWbemMethodSet.
Roep execMethod aan met behulp van het SWbemServices-objectexemplaren en geef de klassenaam en invoerparameters op.
Haal de retourwaarde van de methode op uit de eigenschap ReturnValue in het geretourneerde SWbemObject-object .
Voorbeeld
In het volgende voorbeeld wordt een verzamelingsregelquery gevalideerd door de SMS_CollectionRuleQuery klasse ValidateQuery-klassemethode aan te roepen.
Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.
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
Deze voorbeeldmethode heeft de volgende parameters:
Parameter | Type | Beschrijving |
---|---|---|
connection |
- Beheerd: SWbemServices | Een geldige verbinding met de SMS-provider. |
wqlQuery |
- String |
Een WQL-querytekenreeks. Voor dit voorbeeld SELECT * FROM SMS_R_System is een geldige query. |
De code compileren
Zie ook
Windows Management Instrumentation
Overzicht van objectenVerbinding maken met een SMS-provider in Configuration Manager met behulp van WMI
Een Configuration Manager-object maken met WMI
Een Configuration Manager-object verwijderen met WMI
Een Configuration Manager-object wijzigen met behulp van WMI
Een Asynchrone Configuration Manager-query uitvoeren met behulp van WMI
Een synchrone Configuration Manager-query uitvoeren met behulp van WMI
Een Configuration Manager-object lezen met behulp van WMI
Luie eigenschappen lezen met behulp van WMI