다음을 통해 공유


WMI에서 인증 설정

호출 프로세스 외부 또는 원격 WMI 서비스로 호출할 때 WMI는 DCOM(구성 요소 개체 모델)의 분산 버전을 사용합니다. Out-of-process 및 원격 호출은 프록시를 통해 수행되며 호출 프로세스의 자격 증명 인증이 필요합니다.

컴퓨터 및 WMI 네임스페이스에 연결할 때 인증 수준을 설정합니다. WMI에 연결하려면 C++에서 IWbemLocator::ConnectServer를 호출합니다. 스크립팅 또는 Visual Basic에서는 SWbemLocator.ConnectServer를 사용하거나 모니커 문자열을 통해 WMI에 연결합니다. DCOM 보안 및 WMI는 둘 다 컴퓨터 간에 연결할 때 특정 인증 수준이 필요합니다. 필요한 수준은 연결하는 운영 체제에 따라 다릅니다. 자세한 내용은 원격 컴퓨터에서 WMI에 연결을 참조하세요.

WMI는 일반적으로 공유 서비스 호스트에서 실행되며 호스트의 다른 프로세스와 동일한 인증을 공유합니다. 다른 수준의 인증으로 WMI 프로세스를 실행하려면 /standalonehost 스위치를 사용하여 winmgmt 명령으로 WMI를 실행하고 일반적으로 WMI에 대한 인증 수준을 설정합니다. 자세한 내용은 WMI 보안 유지 관리를 참조하세요.

WMI 연결에 대한 인증을 설정하는 방법에 대한 자세한 내용 및 코드 예제는 VBScript를 사용하여 인증 서비스 설정C++를 사용하여 인증 설정을 참조하세요. 해당 항목에는 C++ 및 스크립팅에 대한 인증 상수를 나열하는 표도 포함되어 있습니다.

WMI에서 프록시 사용

프록시에 대한 인증을 설정하려면 CoSetProxyBlanket 함수를 호출합니다. 자세한 내용 및 코드 예제는 IWbemServices 및 기타 프록시에서 보안 설정을 참조하세요.

WMI 개체에 대한 다음 COM API는 C++ 또는 C#에서 직접 프록시를 사용하여 프로세스에서 호출하거나 원격 WMI 서비스를 호출합니다.

SWbemObject, SWbemServicesSWbemRefresher와 같은 스크립팅 개체는 프록시를 직접 사용하지 않습니다. 대신 스크립팅 개체는 위에 나열된 WMI 개체에 대한 COM API를 호출하는 래퍼 또는 계층을 나타냅니다. 자세한 내용과 스크립팅에서 인증을 설정하는 코드 예제는 VBScript를 사용하여 기본 프로세스 보안 수준 설정을 참조하세요.