System.Management를 사용하여 동기 쿼리를 수행하는 방법How to Perform a Synchronous Query by Using System.Management

WMI (Configuration Manager client WMI(Windows Management Instrumentation))를 동기적으로 쿼리하려면 개체를 사용 ManagementObjectSearcher 합니다.To synchronously query the Configuration Manager client Windows Management Instrumentation (WMI), you use a ManagementObjectSearcher object.

쿼리에서 반환 되는 Configuration Manager 개체에서 lazy 속성을 읽으려면 개체 인스턴스를 가져옵니다. 그러면이 인스턴스는 SMS 공급자에서 지연 개체 속성을 검색 합니다.To read a lazy property from a Configuration Manager object that is returned in a query, you get the object instance, which in turn retrieves any lazy object properties from the SMS Provider.

동기 쿼리를 수행 하려면To perform a synchronous query

  1. Configuration Manager client WMI 네임 스페이스에 대 한 연결을 설정 합니다.Set up a connection to the Configuration Manager client WMI namespace. 자세한 내용은 How To Connect to the Configuration Manager CLIENT WMI Namespace By Using System. Management을 참조 하세요.For more information, see How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management.

  2. ManagementObjectSearcher 컬렉션을 만들고 WQL 쿼리를 지정 합니다.Create a ManagementObjectSearcher collection, and specify a WQL query.

  3. ManagementObjectSearcher 컬렉션을 반복 하 여 쿼리에서 반환 되는 각 WMI 개체에 대 한 ManagementObject를 확인 합니다.Iterate through the ManagementObjectSearcher collection to view the ManagementObject for each WMI object that is returned by the query.

예제Example

다음 c # 코드 예제에서는 SMS_Client Configuration Manager 클라이언트에 있는 단일 개체를 쿼리 합니다.The following C# code example queries for the single SMS_Client object that is on a Configuration Manager client.

샘플 코드를 호출 하는 방법에 대 한 자세한 내용은 System. Management를 사용 하 여 WMI 클래스 메서드를 호출 하는 방법을 참조 하세요.For information about calling the sample code, see How to Call a WMI Class Method by Using System.Management.


public void QueryObjects(ManagementScope scope)  
{  
    try  
    {  
        ManagementObjectSearcher s = new ManagementObjectSearcher  
            ((scope), new WqlObjectQuery("SELECT * FROM sms_client"));  

        foreach (ManagementObject o in s.Get())  
        {  
            // There is only one instance of SMS_Client, so this should enumerate only once.  
            Console.WriteLine("Client version: " + o["ClientVersion"].ToString());  
        }  
    }  
    catch (System.Management.ManagementException e)  
    {  
        Console.WriteLine("Failed to make query: ", e.Message);  
        throw;  
    }  
}  

이 예제 메서드에는 다음과 같은 매개 변수가 있습니다.This example method has the following parameters:

매개 변수Parameter TypeType 설명Description
scope ManagementScope 관리 작업의 범위(네임스페이스)를 나타냅니다.Represents a scope (namespace) for management operations.

코드 컴파일Compiling the Code

네임스페이스Namespaces

System.System.

시스템 관리.System.Management.

어셈블리Assembly

시스템 관리.System.Management.

강력한 프로그래밍Robust Programming

발생할 수 있는 예외는 system.object입니다.The exception that can be raised is System.Management.ManagementException.

참고 항목See Also

Configuration Manager WMI 프로그래밍 정보 About Configuration Manager WMI Programming
시스템 관리를 사용 하 여 WMI 클래스 메서드를 호출 하는 방법 How to Call a WMI Class Method by Using System.Management
시스템 관리를 사용 하 여 Configuration Manager 클라이언트 WMI 네임 스페이스에 연결 하는 방법 How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management
시스템 관리를 사용 하 여 비동기 쿼리를 수행 하는 방법 How to Perform an Asynchronous Query by Using System.Management
시스템 관리를 사용 하 여 WMI 개체를 읽는 방법How to Read a WMI Object Using System.Management