다음을 통해 공유


시나리오 가이드: WMI 연결 및 액세스 문제 해결

이 문서에서는 WMI(Windows Management Instrumentation) 구성을 검토하는 방법과 WMI 연결 또는 액세스 문제를 진단하고 해결하는 방법을 설명합니다.

다음은 발생할 수 있는 WMI 구성 또는 연결 문제의 몇 가지 예입니다. 문제는 WMI를 사용하거나 사용하는 다양한 제품 및 애플리케이션에서 발생합니다.

  • 클러스터 만들기 마법사원격 컴퓨터(클러스터 노드)에 연결을 시도하지만 데이터를 검색하지 못합니다.

    컴퓨터에 연결할 수 없는 오류를 보여 주는 클러스터 만들기 마법사의 스크린샷

    최대 노드 수 검색 실패 오류를 보여 주는 노드 추가 마법사의 스크린샷

  • Active Directory 역할 설치 관리자가 호스트 컴퓨터와 통신하려고 하면 Active Directory 도메인 Services 구성 마법사가 실패하고 다음 오류가 발생합니다.

    Adprep은 WMI(Windows Management Instrumentation)를 통해 서버 testbox.contoso.com 에서 데이터를 검색할 수 없습니다.

    Adprep에서 데이터 오류를 검색할 수 없음을 보여 주는 Active Directory 도메인 Services 구성 마법사의 스크린샷

  • 로컬 WMI 쿼리가 PowerShell cmdlet을 사용하지 Get-WmiObject 못하고 "액세스 거부됨" 오류를 수신합니다.

    Access 거부 오류가 있는 get-wmiobject cmdlet 결과의 스크린샷.

연결 흐름

WMI 연결에는 여러 구성 요소 및 계층이 있습니다. 다음 구성 요소는 높은 수준에서 관련됩니다.

  • WMI 연결 또는 쿼리를 시작하는 클라이언트 또는 관리 애플리케이션

  • 로컬 및 원격 IPC(프로세스 간 통신)에 사용되는 COM(구성 요소 개체 모델) 또는 DCOM(분산 구성 요소 개체 모델) 구성 요소

  • 전송 또는 네트워크 계층(RPC(원격 프로시저 호출))

  • WMI 리포지토리 및 WMI 서비스

  • WMI 공급자

  • 관리되는 개체

    WMI 연결 흐름의 다이어그램.

문제 식별

오류 또는 오류가 발생하는 위치 또는 오류를 반환하는 구성 요소에 따라 다음과 같이 문제를 분류할 수 있습니다.

  • 연결 문제
  • 액세스 문제
  • 핵심 WMI 공급자 오류 코드

연결 문제

WMI 인프라에 대한 연결을 로컬 또는 원격으로 설정하기 전에 발생하는 WMI 연결 오류는 연결 문제로 간주됩니다.

문제 또는 오류는 로컬 또는 원격으로 COM/DCOM 아키텍처, RPC(전송 계층) 또는 방화벽에서 반환됩니다. 연결 문제로 다양한 오류가 발생할 수 있지만 가장 일반적인 오류는 다음과 같습니다.

  • 0x800706ba
    HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE)

  • 0x80041015
    정상적인 작업을 방해하는 네트워킹 오류가 발생한 경우.

액세스 문제

액세스 문제는 액세스 실패 또는 하나 이상의 WMI 구성 요소에 대한 권한 부족으로 인해 WMI 연결 또는 쿼리가 실패할 때 발생합니다.

즉, WMI 인프라 내에는 COM/DCOM, WMI 네임스페이스, WMI 리포지토리 및 공급자와 같은 여러 영역이 있으며 사용자는 액세스, 사용 또는 상호 작용하기 위한 적절한 권한이 필요합니다. 사용 권한 또는 제한이 없으면 WMI 연결이 실패하고 다음과 같은 오류가 발생할 수 있습니다.

  • 0x80070005
    E_ACCESS_DENIED
    DCOM 보안에 의해 거부된 액세스

  • 0x80041003
    WBEM_E_ACCESS_DENIED
    공급자에 의해 액세스 거부됨

핵심 WMI 공급자 오류 코드

WMI에 성공적으로 연결하고 올바른 권한을 가진 후에도 쿼리의 기본 문제, 공급자가 반환한 오류, 잘못된 클래스 또는 잘못된 네임스페이스로 인해 WMI 쿼리 또는 연결이 실패할 수 있습니다.

이 문제는 여러 가지 이유로 인해 발생할 수 있으며 오류는 주로 WMI 서비스에서 반환됩니다.

이러한 경우 반환된 오류 코드는 문제를 이해하는 데 도움이 됩니다. 다음은 몇 가지 오류 코드입니다.

  • 0x80041002 - WBEM_E_NOT_FOUND

  • 0x80041004 - WBEM_E_PROVIDER_FAILURE

  • 0x80041062 - WBEM_E_PRIVILEGE_NOT_HELD

  • 0x8004100E - WBEM_E_INVALID_NAMESPACE

  • 0x80041010 - WBEM_E_INVALID_CLASS

  • 0x80041011 - WBEM_E_PROVIDER_NOT_FOUND

  • 0x80041012 - WBEM_E_INVALID_PROVIDER_REGISTRATION

  • 0x80041013 - WBEM_E_PROVIDER_LOAD_FAILURE

WMI 인프라에서 반환된 오류의 전체 목록은 WMI 오류 상수에 나열됩니다.

구성 확인

문제가 반환된 오류 또는 오류에 따라 연결 또는 액세스 문제인지 확인할 수 있는 경우 WMI의 기존 구성을 확인하거나 사용자에게 적절한 권한이 있는지 확인합니다.

  • 기본적으로 Administrators 그룹의 멤버만 원격으로 WMI 네임스페이스에 액세스할 수 있습니다.
  • WMI를 사용하여 원격 컴퓨터에 연결하려면 연결에 올바른 DCOM 설정 및 WMI 네임스페이스 보안 설정이 사용되도록 설정되어 있는지 확인합니다.
  • WMI에는 원격 연결의 대상 컴퓨터에 필요한 기본 가장, 인증 및 인증 서비스(NTLM 또는 Kerberos) 설정이 있습니다. 로컬 컴퓨터는 대상 시스템에서 허용하지 않는 다른 기본값을 사용할 수 있습니다. 연결 호출에서 해당 설정을 변경할 수 있습니다.
  • 로컬 컴퓨터의 WMI에 대한 연결에는 기본 인증 수준이 PktPrivacy있습니다.
  • WMI 원격 연결은 UAC(사용자 계정 컨트롤) 및 Windows 방화벽의 영향을 받습니다.

관리자가 아닌 사용자가 원격으로 컴퓨터에 액세스할 수 있도록 DCOM 보안 설정

제어판 관리 도구에 있는 DCOM 구성 유틸리티(DCOMCnfg.exe)를 사용하여 WMI에 대한 DCOM 설정을 구성할 수 있습니다.

이 유틸리티는 특정 사용자가 DCOM을 통해 원격으로 컴퓨터에 연결할 수 있도록 하는 설정을 노출합니다. 이 유틸리티를 사용하면 WMI 서비스를 시작, 액세스 및 구성하도록 보안을 설정할 수 있습니다.

다음 절차에서는 특정 사용자 및 그룹에 DCOM 원격 시작 및 활성화 권한을 부여하는 방법을 설명합니다.

컴퓨터 A가 컴퓨터 B에 원격으로 연결하는 경우 컴퓨터 B의 Administrators 그룹에 속하지 않은 사용자 또는 그룹이 컴퓨터 B에서 DCOM 시작 및 활성화 호출을 실행할 수 있도록 컴퓨터 B에서 이러한 권한을 설정할 수 있습니다.

사용자 또는 그룹에 DCOM 원격 시작 및 활성화 권한을 수동으로 부여하려면 다음 단계를 수행합니다.

  1. 실행 시작을>선택하고 DCOMCNFG를 입력한 다음 확인을 선택합니다.
  2. 구성 요소 서비스 창에서 구성 요소 서비스 컴퓨터를 확장합니다>. 내 컴퓨터를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  3. 내 컴퓨터 속성 대화 상자에서 COM 보안 탭을 선택합니다.
  4. 시작 및 활성화 권한에서 제한 편집을 선택합니다.
  5. 시작 및 활성화 권한 대화 상자에서 이름 또는 그룹이 그룹 또는 사용자 이름 목록에 표시되지 않는 경우 추가선택합니다. 사용자, 컴퓨터 또는 그룹 선택 대화 상자에서 선택할 개체 이름 입력 상자에 이름과 그룹을 추가한 다음 확인을 선택합니다.
  6. 시작 및 활성화 권한 대화 상자의 그룹 또는 사용자 이름 목록에서 사용자 및 그룹을 선택합니다. <사용자 또는 그룹>대한사용 권한에서 원격 시작 대한 허용 및 원격 정품 인증 권한을 확인한 다음, 확인선택합니다.

다음 절차에서는 특정 사용자 및 그룹에 DCOM 원격 액세스 권한을 부여하는 방법을 설명합니다. 컴퓨터 A가 컴퓨터 B에 원격으로 연결하는 경우 컴퓨터 B의 Administrators 그룹에 속하지 않은 사용자 또는 그룹이 컴퓨터 B에 연결할 수 있도록 컴퓨터 B에 대해 이러한 권한을 설정할 수 있습니다.

DCOM 원격 액세스 권한을 부여하려면 다음 단계를 수행합니다.

  1. 실행 시작을>선택하고 DCOMCNFG를 입력한 다음 확인을 선택합니다.
  2. 구성 요소 서비스 창에서 구성 요소 서비스 컴퓨터를 확장합니다>. 내 컴퓨터를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  3. 내 컴퓨터 속성 대화 상자에서 COM 보안 탭을 선택합니다.
  4. 액세스 권한에서 제한 편집을 선택합니다.
  5. 액세스 권한 대화 상자의 그룹 또는 사용자 이름 상자에서 ANONYMOUS LOGON선택합니다. ANONYMOUS LOGON에 대한 사용 권한에서 원격 액세스 권한 허용선택한 다음 확인을 선택합니다.

참고 항목

대상 컴퓨터에서 로컬로 분산 COM 사용자 그룹에 사용자를 추가할 수도 있습니다. 기본적으로 이 그룹에는 모든 Windows 컴퓨터에서 COM/DCOM에 액세스할 수 있는 모든 권한이 있습니다.

사용자가 특정 WMI 네임스페이스에 액세스할 수 있도록 허용

사용자가 네임스페이스에 대한 WMI 컨트롤에서 원격 사용 권한을 설정하여 특정 WMI 네임스페이스에 액세스하도록 허용하거나 허용하지 않습니다. 사용자가 액세스할 수 없는 네임스페이스에 연결하려고 하면 오류 0x80041003 받게 됩니다.

기본적으로 이 권한은 관리자만 사용할 수 있습니다. 관리자는 관리자가 아닌 사용자에 대해 특정 WMI 네임스페이스에 대한 원격 액세스를 사용하도록 설정할 수 있습니다.

다음 절차에서는 관리자가 아닌 사용자에 대한 원격 사용 권한을 설정합니다.

  1. WMIMGMT.msc를 사용하여 원격 컴퓨터에 연결합니다.

  2. WMI 컨트롤을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  3. 보안 탭에서 네임스페이스를 선택하고 보안을 선택합니다.

    참고 항목

    Root\cimv2 는 기본 네임스페이스입니다.

  4. 적절한 계정을 찾거나 추가하고 권한 목록에서 원격 사용읽기 보안을 확인합니다.

    참고 항목

    동일한 권한이 하위 폴더 또는 하위 네임스페이스에 상속되도록 하려면 고급을 선택합니다. 그런 다음, 원하는 사용자를 선택하고 적용 대상 섹션에서 이 네임스페이스와 하위 네임스페이스가 선택되어 있는지 확인합니다.

    적절한 사용 권한이 선택된 CIMV2에 대한 권한 항목의 스크린샷

특정 네임스페이스의 특정 클래스에 대한 연결을 확인하려면 다음 단계를 수행하여 WBEMTEST(Windows Management Instrumentation Tester) 도구를 사용할 수 있습니다.

  1. 관리자 권한으로 WBEMTEST를 열고 연결을 선택합니다. 기본적으로 콘솔은 로컬 WMI의 Root\cimv2 네임스페이스에 연결합니다.
  2. 네임스페이스를 연결을 테스트하려는 네임스페이스로 변경합니다. 원격 컴퓨터인 경우 \\machinename<\Root\>cimv2 형식으로 입력합니다.

연결에 성공하면 WBEMTEST 주 창이 제공된 기본이 아닌 네임스페이스에 연결됩니다.

기본적으로 WBEMTEST 연결은 로그인한 사용자 자격 증명을 사용합니다. 다른 계정으로 연결하는 경우 연결을 시도하기 전에 자격 증명이 팝업됩니다.

다음 예제에서는 User1의 자격 증명을 사용하여 "RemoteMachine1"의 네임스페이스 root\ccm 에 연결하려는 시도를 보여 드립니다.

User1의 자격 증명을 사용하여 RemoteMachine1의 네임스페이스 root\ccm에 연결하려는 시도를 보여 주는 연결 창의 스크린샷

도메인에 가입된 컴퓨터와 작업 그룹 컴퓨터 간에 WMI 연결을 설정하려면 대상 컴퓨터의 로컬 사용자를 고려합니다.

참고 항목

대상 컴퓨터의 기본 제공 로컬 관리자를 사용하는 경우 이 사용자는 이미 다른 컴퓨터에서 원격으로 WMI에 액세스할 수 있는 적절한 권한을 가지고 있으며 추가 구성이 필요하지 않습니다.

대상 컴퓨터의 방화벽은 Windows 방화벽 설정 섹션에 표시된 것처럼 위의 방화벽 구성을 수행할 수 있는 들어오는 WMI 연결을 허용해야 합니다. 그런 다음 관리자가 아닌 사용자가 원격으로 컴퓨터에 액세스하고 사용자가 특정 WMI 네임스페이스 섹션에 액세스할 수 있도록 DCOM 보안 및 WMI 네임스페이스 설정에 표시된 대로 DCOM 보안 및 WMI 네임스페이스를 구성합니다.

Windows 방화벽 설정

Windows 방화벽 설정에 대한 WMI 설정은 다른 DCOM 애플리케이션이 아닌 WMI 연결만 사용하도록 설정합니다.

원격 대상 컴퓨터의 WMI에 대한 방화벽에서 예외를 설정해야 합니다.

WMI에 대한 예외를 사용하면 WMI가 원격 연결을 받을 수 있습니다. 클라이언트 애플리케이션이 자체 싱크를 만드는 경우 콜백이 성공할 수 있도록 해당 싱크를 방화벽 예외에 명시적으로 추가해야 합니다.

Windows 방화벽 UI를 통해 WMI 트래픽을 사용하거나 사용하지 않도록 설정할 수 있습니다. 이렇게 하려면 다음 단계를 수행하세요.

  1. 제어판 보안>을 선택합니다.
  2. 설정 변경을 선택한 다음 예외 탭을 선택합니다.
  3. 예외 창에서 WMI(Windows Management Instrumentation) 확인란을 선택하여 방화벽을 통해 WMI 트래픽을 사용하도록 설정합니다. WMI 트래픽을 사용하지 않도록 설정하려면 이 확인란의 선택을 취소합니다.

WMI 규칙 그룹을 사용하여 명령 프롬프트에서 방화벽을 통해 WMI 트래픽을 사용하거나 사용하지 않도록 설정할 수 있습니다.

  • 명령 프롬프트에서 다음 명령을 사용하여 방화벽을 통해 WMI 트래픽을 사용하도록 설정합니다.

    netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes
    
  • 다음 명령을 사용하여 방화벽을 통해 WMI 트래픽을 사용하지 않도록 설정합니다.

    netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=no
    

단일 WMI 규칙 그룹 명령을 사용하는 대신 각 DCOM, WMI 서비스 및 싱크에 대해 개별 명령을 사용할 수도 있습니다.

DCOM, WMI, 콜백 싱크 및 나가는 연결에 대한 별도의 규칙을 사용하여 WMI 트래픽을 사용하도록 설정하려면 다음을 수행합니다.

  • DCOM 포트 135에 대한 방화벽 예외를 설정하려면 다음 명령을 사용합니다.

    netsh advfirewall firewall add rule dir=in name="DCOM" program=%systemroot%\system32\svchost.exe service=rpcss action=allow protocol=TCP localport=135
    
  • WMI 서비스에 대한 방화벽 예외를 설정하려면 다음 명령을 사용합니다.

    netsh advfirewall firewall add rule dir=in name ="WMI" program=%systemroot%\system32\svchost.exe service=winmgmt action = allow protocol=TCP localport=any
    
  • 원격 컴퓨터에서 콜백을 수신하는 싱크에 대한 방화벽 예외를 설정하려면 다음 명령을 사용합니다.

    netsh advfirewall firewall add rule dir=in name ="UnsecApp" program=%systemroot%\system32\wbem\unsecapp.exe action=allow
    
  • 로컬 컴퓨터가 비동기적으로 통신하는 원격 컴퓨터에 보내는 연결에 대한 방화벽 예외를 설정하려면 다음 명령을 사용합니다.

    netsh advfirewall firewall add rule dir=out name ="WMI_OUT" program=%systemroot%\system32\svchost.exe service=winmgmt action=allow protocol=TCP localport=any
    

DCOM, WMI, 콜백 싱크 및 나가는 연결에 대한 별도의 규칙을 사용하여 WMI 트래픽을 사용하지 않도록 설정하려면 다음을 수행합니다.

  • DCOM 예외를 사용하지 않도록 설정하려면 다음 명령을 사용합니다.

    netsh advfirewall firewall delete rule name="DCOM"
    
  • WMI 서비스 예외를 사용하지 않도록 설정하려면 다음 명령을 사용합니다.

    netsh advfirewall firewall delete rule name="WMI"
    
  • 싱크 예외를 사용하지 않도록 설정하려면 다음 명령을 사용합니다.

    netsh advfirewall firewall delete rule name="UnsecApp"
    
  • 나가는 예외를 사용하지 않도록 설정하려면 다음 명령을 사용합니다.

    netsh advfirewall firewall delete rule name="WMI_OUT"
    

다양한 시나리오 문제 해결

대부분의 연결 문제는 잘못된 권한, 사용 권한 없음 또는 방화벽 또는 바이러스 백신 소프트웨어와 같은 외부 요인으로 인해 발생합니다. 따라서 구성을 검토하면 문제가 해결될 수 있습니다.

기본 구성 외에도 일부 추가 설정이 연결에 영향을 줄 수 있습니다.

  • 클라이언트 애플리케이션 또는 원본(Microsoft-Windows-DistributedCOM)에서 기록된 오류에 대한 애플리케이션 및 시스템 이벤트 로그를 검토하고 시나리오에 따라 원본 또는 대상 컴퓨터에 기록될 수 있는 관련 오류 또는 이벤트를 찾습니다.

  • 방화벽에 의해 차단되는 WMI의 연결에 대해 이벤트 뷰어>Applications 및 Services>>Windows>방화벽에서 Windows 방화벽의 이벤트 로그를 검토합니다.

    특정 그룹 정책 설정은 RPC 및 DCOM의 기본 동작 및 사용 권한을 수정할 수 있습니다. 예를 들면 다음과 같습니다.

    • 이 그룹 정책은 인증되지 않은 RPC 호출을 제한할 수 있으며, 이로 인해 오류가 발생할 수 있습니다.

      RPC 서버를 사용할 수 없습니다. (HRESULT 예외: 0x800706BA)

      컴퓨터 구성\관리 템플릿\시스템\원격 프로시저 호출\로 인증되지 않은 RPC 클라이언트 제한

      이 설정은 RPC 서버 런타임이 RPC 서버에 연결하는 인증되지 않은 RPC 클라이언트를 처리하는 방법을 제어합니다. 이 정책 설정은 WMI를 포함한 모든 RPC 애플리케이션에 영향을 줍니다.

    • 이 그룹 정책은 사용자 지정 DCOM 권한을 구성할 수 있습니다.

      컴퓨터 구성\Windows 설정\보안 설정\로컬 정책\보안 옵션\DCOM: SDDL(보안 설명자 정의 언어) 구문의 컴퓨터 시작 제한

      이 설정을 사용하면 두 가지 방법으로 ACL을 지정할 수 있습니다. SDDL에 보안 설명자를 입력하거나 사용자 및 그룹에 로컬 액세스 및 원격 액세스 권한을 부여하거나 거부할 수 있습니다.

  • 대상 컴퓨터에서 RPC 동적 포트 범위를 검토합니다.

    • netsh int ipv4 show dynamicport tcp
    • netsh int ipv4 show dynamicport udp
    • netsh int ipv6 show dynamicport tcp
    • netsh int ipv6 show dynamicport udp

    작업 컴퓨터와 비교합니다. 포트 범위가 기본값이 아니거나 작은 범위로 제한되면 WMI 연결에 영향을 줄 수 있습니다. Windows의 서비스 개요 및 네트워크 포트 요구 사항에는 RPC에 필요한 기본 포트 범위가 표시됩니다.

이 문제가 액세스 문제 또는 핵심 WMI 오류인 경우 들어오는 쿼리는 microsoft-Windows-WMI-Activity/Operation >WMI-Activity.

일부 시나리오에서는 로컬 WMI 연결이 실패할 수 있습니다.

WMIMGMT.msc를 사용하여 WMI 컨트롤을 마우스 오른쪽 단추로 클릭하고 속성을 선택하여 로컬 WMI 연결을 확인할 수 있습니다.

로컬 WMI가 실패할 때 발생하는 몇 가지 오류는 다음과 같습니다.

  • "WMI: 찾을 수 없음"으로 <인해 로컬 컴퓨터에> 연결하지 못했습니다.

    WMI 찾을 수 없음 오류를 보여 주는 WMI 컨트롤(로컬) 속성 창 스크린샷

  • "Win32: 시스템에서 지정된 경로를 찾을 수 없습니다."로 인해 로컬 컴퓨터에< 연결>하지 못했습니다.

    시스템에서 지정된 경로를 찾을 수 없음을 보여 주는 WMI 컨트롤(로컬) 속성 창 스크린샷.

  • "WMI: 일반 오류"로 인해 로컬 컴퓨터에< 연결>하지 못했습니다.

    WMI 제네릭 오류 오류를 보여 주는 WMI 컨트롤(로컬) 속성 창 스크린샷.

WMI 리포지토리에 결함이 있거나 손상이 있는 경우 이러한 종류의 오류가 발생할 수 있습니다.

관리자 권한 명령 프롬프트 창에서 다음 명령을 사용하여 라이브 또는 현재 사용되는 WMI 리포지토리에서 일관성 검사를 수행할 수 있습니다.

winmgmt /verifyrepository

/verifyrepository <path>사용하여 이 명령을 실행할 수도 있습니다. path 인수를 지정하면 리포지토리의 저장된 복사본을 확인할 수 있습니다.

이 경우 path 인수에는 저장된 리포지토리 복사본에 대한 전체 경로가 포함되어야 합니다. 저장된 리포지토리는 전체 리포지토리 폴더의 복사본이어야 합니다.

다음 절차에서는 WMI 공급자 MOF 파일을 다시 컴파일하고 WMI 공급자 DLL을 다시 등록하는 방법을 설명합니다. 여기에는 기본 제공 공급자와 기본 경로에 배치된 공급자가 모두 포함됩니다. 관리자 권한 명령 프롬프트 창에서 다음 명령을 실행합니다.

참고 항목

다음 단계에서는 WMI 서비스를 다시 시작합니다.

  1. WMI 서비스를 중지하고 다음으로 disabled설정합니다.

    sc config winmgmt start= disabled
    net stop winmgmt /y
    
  2. WBEM 폴더로 이동합니다.

    %systemdrive%
    cd %windir%\system32\wbem
    
  3. WMI 공급자를 다시 등록합니다.

    for /f %s in ('dir /b *.dll') do regsvr32 /s %s
    
  4. WMI 서비스를 다시 Auto 설정하고 서비스를 시작합니다.

    sc config winmgmt start= Auto
    net start winmgmt 
    
  5. MOF 파일을 다시 컴파일합니다.

    dir /b *.mof *.mfl | findstr /v /i uninstall > moflist.txt & for /F %s in (moflist.txt) do mofcomp %s 
    

참고 항목

WMI 리포지토리를 다시 설정하거나 WMI 리포지토리를 다시 작성하기 위한 여러 외부 블로그 및 사이트가 있습니다. 그러면 운영 체제가 설치되었을 때 WMI 리포지토리가 초기 상태로 다시 설정됩니다. WMI는 시스템 자체, 애플리케이션, 서비스 및 그 주변의 다른 엔터티에 대해 시간이 지남에 따라 수집된 모든 정보를 잃게 됩니다. 따라서 Microsoft 지원에서 수행하지 않는 한 WMI 리포지토리를 다시 빌드하지 않는 것이 좋습니다.

네트워크 수준의 연결 흐름

다음 추적은 WMIC.exe 사용하여 WMI 쿼리를 수행하는 동안 두 컴퓨터 간에 네트워크 모니터를 사용하여 캡처된 네트워크 추적의 출력입니다.

이렇게 하면 문제가 네트워크 연결 문제인지 확인하는 데 도움이 될 수 있습니다.

  • 대상 컴퓨터의 포트 135에서 엔드포인트 매퍼에 연결합니다.

    65        9:07:30 AM 3/21/2017        6.2302032        svchost.exe        10.0.0.6        10.0.0.22        TCP        TCP:Flags=......S., SrcPort=49229, DstPort=DCE endpoint resolution(135), PayloadLen=0, Seq=3759018265, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192        {TCP:8, IPv4:7}
    
  • IRemoteSCMActivator에 대한 RPC 인터페이스 UUID 요청:

    68        9:07:30 AM 3/21/2017        6.2366981        svchost.exe        10.0.0.6        10.0.0.22        MSRPC        MSRPC:c/o Bind: IRemoteSCMActivator(DCOM) UUID{000001A0-0000-0000-C000-000000000046}  Call=0x5  Assoc Grp=0x0  Xmit=0x16D0  Recv=0x16D0         {MSRPC:9, TCP:8, IPv4:7}
    
  • 대상 컴퓨터의 엔드포인트 매퍼에서 제공하는 동적 포트 중 하나에 연결합니다.

    77        9:07:30 AM 3/21/2017        6.3539124        WMIC.exe        10.0.0.6        10.0.0.22        TCP        TCP:Flags=......S., SrcPort=49230, DstPort=49154, PayloadLen=0, Seq=2143969401, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192        {TCP:10, IPv4:7}
    
  • 컴퓨터 "TargetMachine"의 네임스페이스 Root\CIMV2 에 연결합니다.

    96        9:07:30 AM 3/21/2017        6.4702188        WMIC.exe        10.0.0.6        10.0.0.22        WMI        WMI:IWbemLevel1Login:NTLMLogin Request, NetworkResource=\\TargetMachine\ROOT\CIMV2 PreferredLocale=ms_409,en-US,en Flags=0        {MSRPC:11, TCP:10, IPv4:7}
    
  • 쿼리 실행:

    116        9:07:31 AM 3/21/2017        6.7577443        WMIC.exe        10.0.0.6        10.0.0.22        WMI        WMI:IWbemServices:ExecQuery Request, *Encrypted*        {MSRPC:11, TCP:10, IPv4:7}
    

데이터 수집

추가 조사를 위한 지원 사례를 열기 전에 아래 단계에 따라 데이터를 수집할 수 있습니다.

TSS.zip 다운로드하고 콘텐츠를 추출합니다.

  1. 관리자 권한 PowerShell 명령 프롬프트에서 다음 cmdlet을 실행하여 추적을 시작합니다.

    .\TSS.ps1 -UEX_WMIAdvanced -WMIProvList RPC,DCOM -NetshScenario netconnection -noBasicLog
    
  2. 연결 오류를 재현하거나 오류가 재현될 때까지 기다립니다. 추적을 2분 이상 계속 실행합니다.

  3. TSS 도구를 실행하는 PowerShell 창의 지침에 따라 추적을 중지합니다.

스크립트는 모든 추적 결과 및 진단 정보를 포함하는 zip 파일을 만듭니다. 지원 사례가 만들어지면 이 파일을 분석을 위해 보안 작업 영역에 업로드할 수 있습니다.