System.Management를 사용하여 WMI 클래스 메서드를 호출하는 방법
클라이언트 WMI(Windows Management Instrumentation) 클래스 메서드를 호출하려면 Configuration Manager WMI 클래스의 ManagementClass
를 호출 InvokeMethod
합니다.
WMI 클래스 메서드를 호출하려면
Configuration Manager 클라이언트 WMI 네임스페이스에 대한 연결을 설정합니다. 자세한 내용은 System.Management를 사용하여 Configuration Manager 클라이언트 WMI 네임스페이스에 연결하는 방법을 참조하세요.
ManagementClass
1단계에서 가져온 경로와 메서드를ManagementScope
호출하려는 클래스의 이름을 사용하여 을 만듭니다.를
ManagementBaseObject
만들고 메서드에 대한 매개 변수에서 를 지정합니다.개체 메서드를 사용하여 메서드를
ManagementClass
호출합니다InvokeMethod
.반환
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 개체를 읽는 방법
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기