다음을 통해 공유


WMI 문제 해결

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

메모

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

WMI 진단 유틸리티

중요하다

WMI 진단 유틸리티(WMIDiag.exe)는 Windows 8 및 Windows Server 2012부터 더 이상 지원되지 않습니다.

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

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

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

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

로깅 및 추적

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

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

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

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

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

  • 공급자를 올바르게 등록합니다. 자세한 내용은 공급자 등록을 참조하세요.
  • 공급자 클래스를 정의하는 MOF(Managed Object Format) 파일에 #pragma 자동 복구 문을 추가합니다.

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

액세스 거부됨

Access는 WMI 네임스페이스와 데이터에 액세스하는 스크립트 및 애플리케이션에서 보고하는 오류를 거부했습니다. 다음 표에서는 오류 및 가능한 해결 방법의 원인이 될 수 있는 문제와 함께 세 가지 오류 범주를 나열합니다.

오류 가능한 문제 해결책
0x800706BA HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE)
방화벽 문제 또는 서버를 사용할 수 없습니다.
컴퓨터가 실제로 존재하지 않거나 Windows 방화벽이 연결을 차단하고 있습니다.
Vista에 연결: netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes 다운레벨에 연결: Windows 방화벽에서 "원격 관리" 규칙을 허용하십시오.
0x80070005 (접근이 거부되었습니다)
DCOM 보안에 의해 액세스가 거부되었습니다.
사용자에게 DCOM을 통해 컴퓨터에 대한 원격 액세스 권한이 없습니다. 일반적으로 DCOM 오류는 다른 운영 체제 버전으로 원격 컴퓨터에 연결할 때 발생합니다.
dcomcnfg에서 사용자에게 원격 시작 및 원격 활성화 권한을 부여합니다. 내 컴퓨터> 속성을 마우스 오른쪽 단추로 클릭합니다. COM 보안에서 두 섹션 모두에 대해 "제한 편집"을 클릭합니다. 원격 액세스, 원격 시작 및 원격 활성화를 원하는 사용자에게 제공합니다. 그런 다음 DCOM 구성으로 이동하여 "Windows Management Instrumentation"을 찾아 원격 시작 및 원격 정품 인증을 원하는 사용자에게 제공합니다. 자세한 내용은 다른 운영 체제 간 연결 참조하세요.
0x80041003 WBEM_접근 거부됨
공급자 액세스 거부
사용자에게 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 작업 기록