다음을 통해 공유


WMI 문제 해결

애플리케이션 또는 스크립트에서 WMI 로컬 또는 원격 데이터에 액세스할 때 누락된 클래스에서 액세스 거부에 이르기까지 다양한 오류가 발생할 수 있습니다. 공급자는 디버깅 옵션 및 문제 해결 클래스도 사용할 수 있습니다.

참고

이 항목의 정보는 개발자 및 IT 관리자를 위한 것입니다. WMI와 관련된 오류 메시지가 발생한 최종 사용자인 경우 Microsoft 지원 방문하여 오류 메시지에 표시되는 오류 코드를 검색합니다. WMI 스크립트 및 WMI 서비스 문제 해결에 대한 자세한 내용은 WMI가 작동하지 않음을 참조하세요.

WMI Diagnosis Utility

중요

WMI Diagnosis Utility(WMIDiag.exe)은 Windows 8 및 Windows Server 2012부터 더 이상 지원되지 않습니다.

Windows 7, Windows Server 2008 R2, Windows Vista 및 Windows Server 2008:

WMI가 오류 메시지를 반환하는 경우 WMI 서비스 또는 WMI 공급자의 문제를 나타내지 않을 수 있습니다. 오류는 운영 체제의 다른 부분에서 발생할 수 있으며 WMI를 통해 오류로 나타날 수 있습니다. 어떤 경우에도 WMI 리포지토리를 첫 번째 단계로 삭제하면 안 됩니다. 리포지토리를 삭제하면 시스템 또는 설치된 애플리케이션이 손상될 수 있기 때문입니다.

이전에는 문제의 원본에 대한 자세한 정보를 얻기 위해 WMI Diagnosis Utility 진단 명령줄 도구를 다운로드하여 실행할 수 있습니다. 이 도구는 일반적으로 문제의 원인을 격리하고 문제를 해결하는 방법에 대한 지침을 제공할 수 있는 보고서를 생성했습니다. 이 보고서는 또한 Microsoft 지원 서비스를 지원해 줍니다. WMI Diagnosis Utility 이전에 다운로드 센터에서 사용할 수 있었습니다.

공급자 작성기는 분리된 공급자를 작성하지 않는 한 디버깅 문제가 발생할 수도 있습니다. 자세한 내용은 공급자 디버깅을 참조하세요.

로깅 및 추적

WMI 로그 파일이 더 이상 존재하지 않습니다. ETW(Windows용 이벤트 추적)로 대체되었습니다. 자세한 내용은 WMI 활동 추적, WMI 활동 로깅 및 WMI로그 파일을 참조하세요.

스크립트 및 애플리케이션의 문제 해결

WMI에는 WMI 공급자를 사용하는 문제 해결 클라이언트 애플리케이션을 위한 클래스 집합이 포함되어 있습니다. 자세한 내용은 WMI 클라이언트 애플리케이션 문제 해결을 참조하세요.

공급자-작성기가 WMI 문제를 방지하는 방법

공급자 작성기는 다음 작업을 수행하여 많은 문제(WMI를 통해 오류 메시지에 표시됨)를 방지할 수 있습니다.

자세한 내용은 공급자 디버깅, WMI에 데이터 제공, 공급자 구성 및 문제 해결 클래스를 참조하세요.

액세스 거부됨

WMI 네임스페이스와 데이터에 액세스하는 스크립트 및 애플리케이션에서 보고하는 액세스 거부 오류는 일반적으로 세 가지 범주로 분류됩니다. 다음 표에서는 세 가지 오류 범주를 나열하고 오류의 원인이 될 수 있는 문제와 가능한 솔루션을 제시합니다.

오류 가능한 문제 솔루션
0x800706BA HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE)
방화벽 문제 또는 서버를 사용할 수 없음.
컴퓨터가 실제로 존재하지 않거나 Windows 방화벽이 연결을 차단하고 있습니다.
Vista에 연결: netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes Downlevel에 연결: Windows 방화벽에서 “원격 관리” 규칙을 허용합니다.
0x80070005 E_ACCESS_DENIED
DCOM 보안에 의해 액세스가 거부됨.
사용자에게 DCOM을 통한 컴퓨터에 대한 원격 액세스 권한이 없습니다. 일반적으로 DCOM 오류는 다른 운영 체제 버전을 사용하여 원격 컴퓨터에 연결할 때 발생합니다.
dcomcnfg에서 사용자에게 원격 시작 및 원격 활성화 권한을 부여합니다. 내 컴퓨터를 마우스 오른쪽 단추로 클릭-> 속성. COM 보안에서 두 섹션 모두에 대해 “제한 편집”을 클릭합니다. 원하는 사용자에게 원격 액세스, 원격 시작 및 원격 활성화를 제공합니다. 그런 다음 DCOM 구성으로 이동하여 “WMI(Windows Management Instrumentation)”을 찾아 원격 시작 및 원격 활성화를 원하는 사용자에게 제공합니다. 자세한 내용은 다른 운영 체제 간 연결을 참조하세요.
0x80041003 WBEM_E_ACCESS_DENIED
공급자에 의해 액세스 거부됨
사용자에게 WMI에서 작업을 수행할 수 있는 권한이 없습니다. 이는 낮은 권한 사용자가 특정 클래스를 쿼리할 때 발생할 수 있지만, 대부분의 경우 메서드를 호출하거나 낮은 권한 사용자로 WMI 인스턴스를 변경하려고 할 때 발생합니다. 연결하려는 네임스페이스는 암호화되었으나 사용자가 암호화되지 않은 연결로 연결하려고 합니다.
사용자에게 WMI 컨트롤을 암호화를 지원하는 클라이언트를 사용하여 액세스 권한을 부여합니다(Remote_Access가 true로 설정되었는지 확인).
  • 일반적으로 DCOM 오류는 다른 운영 체제 버전을 사용하여 원격 컴퓨터에 연결할 때 발생합니다.

  • 공급자는 특정 네임스페이스의 데이터에 대한 액세스를 거부하거나 특정 수준의 연결 보안을 요구할 수도 있습니다. 자세한 내용은 클라이언트 애플리케이션 프로세스 보안 설정공급자 호스팅 및 보안을 참조하세요.

  • ICF(인터넷 연결 방화벽) 변경으로 인한 액세스 거부 오류입니다.

    자세한 내용은 Windows 방화벽을 통한 연결을 참조하세요.

  • 낮은 무결성 클라이언트가 WMI에 액세스하려고 하면 DCOM 보안에서 액세스 거부 오류가 반환됩니다. 예를 들어 보안 수준이 낮게 설정된 Internet Explorer에서 실행되는 ActiveX 컨트롤에는 로컬 WMI 작업을 수행할 수 있는 액세스 권한이 없습니다.

    Windows 7: 무결성이 낮은 사용자에게는 로컬 WMI 작업에 대한 읽기 전용 권한이 있습니다.

오류에 대한 정보

WMI에서 오류 메시지가 표시되면 WMI 오류 상수에서, 또는 스크립팅의 경우 WbemErrorEnum에서 메시지를 찾을 수 있습니다. 그러나 오류만으로 제공되는 정보는 일반적으로 어떤 일이 일어나고 있는지 확인하기에 충분하지 않습니다. WMI 리포지토리 손상은 클래스 또는 인스턴스 “찾을 수 없음”으로 가장할 수 있습니다.

WMI에 대한 자세한 내용은 다음을 참조하세요.

WMI 문제 해결

WMI 활동 추적

WMI 활동 로깅