Partilhar via


Como executar uma consulta de gestor de configuração

No Gestor de Configuração, executa uma SMS_Query consulta baseada obtendo a instância de consulta e, em seguida, executando consulta WQL na propriedade do SMS_Query Expression objeto.

Depois de ter a consulta WQL, pode executar a consulta de forma sincronizada ou assíncronea. O exemplo a seguir é sincronizado. Para obter informações sobre a execução da consulta assíncronosamente, consulte Como Executar uma consulta de gestor de configuração assíncronea utilizando código gerido e como executar uma consulta de gestor de configuração assíncronea utilizando o WMI. Nestes exemplos, mude a select * from collection cadeia para o valor da Expression propriedade.

Para fazer uma consulta

  1. Configurar uma ligação com o Fornecedor DE SMS. Para mais informações, consulte os fundamentos do Fornecedor de SMS.

  2. Pegue o SMS_Query objeto para a consulta que quer executar.

  3. Executar a consulta identificada pela propriedade do SMS_Query Expression objeto.

Exemplo

O método de exemplo a seguir executa sincronizadamente a consulta identificada pelo queryId parâmetro.

Para obter informações sobre a chamada do código de amostra, consulte o Código de Identificação do Gestor de Chamadas.

Sub RunQuery(connection, queryId)  
    Dim query  
    Dim queryResults  
    Dim queryResult  

    ' Get query.  
    Set query=connection.Get("SMS_Query.QueryID='" & queryId  & "'" )  

    If err.number<>0 Then  
        WScript.echo "Couldn't get Queries"  
        Exit Sub  
    End If  

    ' Run query.  
    WScript.echo query.Name  
    WScript.echo "----------------------------------"  

    Set queryResults=connection.ExecQuery(query.Expression)  
    For Each queryResult In queryResults  
        wscript.echo "     " & queryResult.Name  
    Next  
    If queryResults.Count=0 Then  
        WScript.echo "      no query results"  
    End If  
End Sub  
public void RunQuery(WqlConnectionManager connection, string queryId)  
{  
    try  
    {  
        // Get the query.  
        IResultObject query = connection.GetInstance(@"SMS_Query.QueryID='" + queryId + "'");  

        Console.WriteLine(query["Name"].StringValue);  
        Console.WriteLine("----------------------------------");  

        // Get the query results.  
        IResultObject queryResults = connection.QueryProcessor.ExecuteQuery(query["Expression"].StringValue);  

        bool resultsFound = false;  
        foreach (IResultObject queryResult in queryResults)  
        {  
            resultsFound = true;  
            Console.WriteLine(queryResult["Name"].StringValue);  
        }  
        if (resultsFound == false)  
        {  
            Console.WriteLine("     No query results");  
        }  
    }  
    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to run query: " + ex.Message);  
        throw;  
    }  
}  

O método exemplo tem os seguintes parâmetros:

Parâmetro Tipo Description
connection - Gerido: WqlConnectionManager
- VBScript: SWbemServices
Uma ligação válida ao Fornecedor de SMS.
queryID - Gerido: String
- VBScript: String
Um identificador de consultas. Para mais informações consulte a propriedade da SMS_Query QueryID classe.

A Compilar o Código

O exemplo C# tem os seguintes requisitos de compilação:

Espaços de nomes

Sistema

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assemblagem

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programação Robusta

Para obter mais informações sobre o tratamento de erros, consulte Sobre erros do Gestor de Configuração.

Segurança do .NET Framework

Para obter mais informações sobre a segurança das aplicações do Gestor de Configuração, consulte a administração baseada em funções do Gestor de Configuração.

Consulte também

Sobre consultas de gestor de configuração
Como criar uma consulta de gestor de configuração
Como executar uma consulta de gestor de configuração assíncronea através da utilização de código gerido
Como realizar uma consulta de gestor de configuração assíncronea usando o WMI