System.Management를 사용하여 WMI 클래스 메서드를 호출하는 방법

클라이언트 WMI(Windows Management Instrumentation) 클래스 메서드를 호출하려면 Configuration Manager WMI 클래스의 ManagementClass를 호출 InvokeMethod 합니다.

WMI 클래스 메서드를 호출하려면

  1. Configuration Manager 클라이언트 WMI 네임스페이스에 대한 연결을 설정합니다. 자세한 내용은 System.Management를 사용하여 Configuration Manager 클라이언트 WMI 네임스페이스에 연결하는 방법을 참조하세요.

  2. ManagementClass 1단계에서 가져온 경로와 메서드를 ManagementScope 호출하려는 클래스의 이름을 사용하여 을 만듭니다.

  3. ManagementBaseObject 만들고 메서드에 대한 매개 변수에서 를 지정합니다.

  4. 개체 메서드를 사용하여 메서드를 ManagementClass 호출합니다 InvokeMethod .

  5. 반환 ManagementBaseObject된 를 사용하여 반환된 매개 변수를 봅니다.

예시

다음 C# 코드 예제에서는 메서드를 ISmsClient::GetAssignedSite 호출하여 클라이언트에 대한 현재 할당된 사이트를 가져옵니다. 그런 다음, 할당된 사이트를 메서드를 사용하여 ISmsClient::SetAssignedSite 동일한 값으로 다시 설정합니다.

샘플 코드 호출에 대한 자세한 내용은 System.Management를 사용하여 WMI 클래스 메서드를 호출하는 방법을 참조하세요.


public void CallMethod(ManagementScope scope)  
{  
    try// Get the client's SMS_Client class.  
    {  
        ManagementClass cls = new ManagementClass(scope.Path.Path, "sms_client", null);  

        // Get current site code.  
        ManagementBaseObject outSiteParams = cls.InvokeMethod("GetAssignedSite", null, null);  

        // Display current site code.  
        Console.WriteLine(outSiteParams["sSiteCode"].ToString());  

        // Set up current site code as input parameter for SetAssignedSite.  
        ManagementBaseObject inParams = cls.GetMethodParameters("SetAssignedSite");  
        inParams["sSiteCode"] = outSiteParams["sSiteCode"].ToString();  

        // Assign the Site code.  
        ManagementBaseObject outMPParams = cls.InvokeMethod("SetAssignedSite", inParams, null);  
    }  
    catch (ManagementException e)  
    {  
        throw new Exception("Failed to execute method", e);  
    }  
}  

이 예제 메서드에는 다음 매개 변수가 있습니다.

매개 변수 형식 설명
scope - ManagementScope 클라이언트 WMI 공급자에 대한 유효한 연결입니다. 경로는 root\ccm입니다.

코드 컴파일

네임 스페이스

시스템

System.Management

어셈블리

System.Management

강력한 프로그래밍

발생할 수 있는 예외는 System.Management.ManagementException입니다.

참고 항목

Configuration Manager WMI 프로그래밍 정보
System.Management를 사용하여 WMI 클래스 메서드를 호출하는 방법
System.Management를 사용하여 Configuration Manager 클라이언트 WMI 네임스페이스에 연결하는 방법
System.Management를 사용하여 비동기 쿼리를 수행하는 방법
System.Management를 사용하여 동기 쿼리를 수행하는 방법
System.Management를 사용하여 WMI 개체를 읽는 방법