Configuration Manager 쿼리 instance 가져오고 개체 속성에서 WQL 쿼리를 실행하여 기반 쿼리를 SMS_Query 실행 SMS_Query 합니다Expression.
WQL 쿼리가 있으면 쿼리를 동기적으로 또는 비동기적으로 실행할 수 있습니다. 다음 예제는 동기식입니다. 쿼리를 비동기적으로 실행하는 방법에 대한 자세한 내용은 관리 코드를 사용하여 비동기 Configuration Manager 쿼리를 수행하는 방법 및 WMI를 사용하여 비동기 Configuration Manager 쿼리를 수행하는 방법을 참조하세요. 이 예제에서는 문자열을 select * from collection 속성 값으로 Expression 변경합니다.
쿼리를 실행하려면
SMS 공급자에 대한 연결을 설정합니다. 자세한 내용은 SMS 공급자 기본 사항을 참조하세요.
SMS_Query실행하려는 쿼리에 대한 개체를 가져옵니다.개체 속성으로 식별된 쿼리를
SMS_Query실행합니다Expression.
예제
다음 예제 메서드는 매개 변수로 식별된 queryId 쿼리를 동기적으로 실행합니다.
샘플 코드 호출에 대한 자세한 내용은 코드 조각 Configuration Manager 호출을 참조하세요.
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;
}
}
예제 메서드에는 다음 매개 변수가 있습니다.
| 매개 변수 | 형식 | 설명 |
|---|---|---|
connection |
-관리: WqlConnectionManager- VBScript: SWbemServices |
SMS 공급자에 대한 유효한 연결입니다. |
queryID |
-관리: String- VBScript: String |
쿼리 식별자입니다. 자세한 내용은 클래스 QueryID 속성을 참조 SMS_Query 하세요. |
코드 컴파일
C# 예제에는 다음과 같은 컴파일 요구 사항이 있습니다.
네임스페이스
시스템
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
어셈블리
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
강력한 프로그래밍
오류 처리에 대한 자세한 내용은 Configuration Manager 오류 정보를 참조하세요.
.NET Framework 보안
Configuration Manager 애플리케이션 보안에 대한 자세한 내용은 역할 기반 관리 Configuration Manager 참조하세요.
참고 항목
Configuration Manager 쿼리 Configuration Manager 쿼리를 만드는 방법 관리 코드를 사용하여 비동기 Configuration Manager 쿼리를 수행하는 방법 비동기 수행 방법 WMI를 사용하여 쿼리 Configuration Manager