Compartilhar via


Como executar uma consulta de Configuration Manager síncrona usando o WMI

Em Configuration Manager, você executa uma consulta síncrona para objetos Configuration Manager chamando o método ExecQuery do objeto SWbemServices e passando uma consulta WQL.

Uma consulta síncrona é uma consulta que mantém o controle sobre o processo do aplicativo durante a duração da consulta. Uma consulta síncrona tem o potencial de bloquear seu aplicativo para consultas grandes ou para consultas em uma rede. Como alternativa, você pode executar uma consulta assíncrona que retorna o controle para o aplicativo enquanto a consulta é executada. Para obter mais informações, consulte Como executar uma consulta de Configuration Manager assíncrona usando código gerenciado

Observação

As propriedades preguiçosas não são retornadas em consultas síncronas. Para obter mais informações, consulte Como ler propriedades preguiçosas usando o WMI.

Para executar uma consulta síncrona

  1. Configure uma conexão com o Provedor de SMS. Para obter mais informações, consulte Como conectar-se a um provedor de SMS no Configuration Manager usando o WMI.

  2. Usando o objeto SWbemServices obtido na primeira etapa, use o método ExecQuery para obter uma coleção SWbemObjectSet contendo os resultados da consulta.

  3. Iterar por meio da coleção SWbemObjectSet para acessar um SWbemObject para cada objeto retornado pela consulta.

Exemplo

O exemplo a seguir executa uma consulta síncrona de todos os pacotes no Configuration Manager.

Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.

Sub QueryPackages(connection)  

    On Error Resume next  

    Dim packages  
    Dim package  

    ' Run the query.  
    Set packages = _  
        connection.ExecQuery("Select * From SMS_Package")  

    If Err.Number<>0 Then  
        Wscript.Echo "Couldn't get Packages"  
        Wscript.Quit  
    End If  

    For Each package In packages  
        WScript.Echo  package.Name  
    Next  

    If packages.Count=0 Then  
        Wscript.Echo "No packages found"  
    End If  

End Sub  

Este método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
connection SWbemServices Uma conexão válida com o provedor de SMS.

Confira também

Instrumentação de gerenciamento do Windows
Visão geral de objetosComo chamar um método de classe de objeto Configuration Manager usando o WMI
Como se conectar 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 ler um objeto Configuration Manager usando o WMI
Como ler propriedades preguiçosas usando o WMI
Configuration Manager Linguagem de Consulta WMI Estendida
conjuntos de resultados Configuration Manager
Configuration Manager consultas especiais
Sobre consultas