Como chamar um método de classe de objeto Configuration Manager usando o WMI
Para chamar um método de classe provedor de SMS, em Configuration Manager, use o método ExecMethod do objeto SWbemServices para chamar métodos definidos pela classe.
Observação
Para chamar um método em uma instância de objeto, chame o método diretamente do objeto. Por exemplo, ObjectInstance.MethodName parameters
.
Para chamar um método de classe de objeto Configuration Manager
Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de SMS.
Usando os SWbemServices obtidos na primeira etapa, chame Get para obter a definição de classe.
Crie os parâmetros de entrada como um SWbemMethodSet.
Usando a instância de objeto SWbemServices, chame ExecMethod e especifique o nome da classe e os parâmetros de entrada.
Recupere o valor de retorno do método da propriedade ReturnValue no objeto SWbemObject retornado.
Exemplo
O exemplo a seguir valida uma consulta de regra de coleção chamando o método de classe ValidateQuery da classe SMS_CollectionRuleQuery.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.
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
Este método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
connection |
– Gerenciado: SWbemServices | Uma conexão válida com o provedor de SMS. |
wqlQuery |
- String |
Uma cadeia de caracteres de consulta WQL. Para este exemplo, SELECT * FROM SMS_R_System é uma consulta válida. |
Compilando o código
Confira também
Instrumentação de gerenciamento do Windows
Visão geral de objetoscomo conectar-se a um provedor de SMS no Configuration Manager usando o WMI
Como criar um objeto Configuration Manager usando o WMI
Como excluir um objeto Configuration Manager usando o WMI
Como modificar um objeto Configuration Manager usando o WMI
Como executar uma consulta de Configuration Manager assíncrona usando o WMI
Como executar uma consulta de Configuration Manager síncrona usando o WMI
Como ler um objeto Configuration Manager usando o WMI
Como ler propriedades preguiçosas usando o WMI