카테고리 없음

[씨#] WMI 요청에 대한 "공급자로드 실패"를 해결하려면 어떻게해야합니까?

행복을전해요 2020. 12. 9. 16:54

모든 dll이 올바르게 등록되었는지 확인할 수 있습니다 ( http://msdn.microsoft.com/en-us/library/bb961987.aspx 참조 ).

-------------------

문제의 근본 원인을 추적하는 한 가지 방법은 WBEMTest 를 사용 하는 것입니다.이 도구는 MS Scripting Guys가 말하는 가장 쉬운 방법 중 하나입니다.

"WMI 클래스 공급자를 찾으려면 ..."

The Scripting Guys : PowerShell을 사용하여 "공급자로드 실패"문제 해결

Win32_NetworkAdapter와 관련된 고급 단계 는 infoSupport의 Mark Wolzak 작성한Win32_network 어댑터 "제공자로드 실패" 게시물에 설명되어 있습니다.

  • 시작 >> 실행 >> wbemtest를 클릭하십시오.
  • '연결…'을 클릭하여 네임 스페이스에 연결합니다.
  • 'Select * From MSFT_WmiSelfEvent'쿼리를 실행합니다.
  • 아래로 스크롤하여 다음 WMI 이벤트를 추적합니다.
  • Msft_WmiProvider_InitializationOperationFailureEvent 또는 Msft_WmiProvider_LoadOperationFailureEvent의 세부 정보에서 문제를 일으키는 dll을 확인합니다.

이 도구와 특정 방법론을 알려준 Richard Siddaway 블로그 WMI-Provider Load Failure 게시물에 감사드립니다 .

-------------------

사용자 계정 컨트롤이있는 운영 체제에서는 UAC를 끕니다.

제 경우에는 Ross의 대답이 해결되지 않았습니다. 일부 WMI 공급자 (논리 디스크)를로드 할 수 있지만 다른 공급자 (IIS)는로드 할 수 없습니다. WMI 탐색기 도구 (예 : PowerGui)는 공급자를 표시합니다. 이는 보안 정책이 WMI 공급자로드를 방지 할 수 있음을 나타냅니다. UAC가 꺼지면 모든 WMI 공급자가 오류없이로드되었습니다.

물론 UAC를 켜두는 것이 좋습니다. 필요한 특정 정책을 찾으면이 답변을 업데이트하겠습니다.

-------------------

그래서 이것이 오래되었다는 것을 알고 있지만 위에서 설명한 정확한 문제가 발생했습니다. 알아 내기가 정말 어려웠 기 때문에 다른 사람에게 도움이 되었으면 좋겠다고 생각했습니다.

IIS WMI 공급자를로드하려고했는데 "공급자로드 실패"오류가 발생했습니다. wbemtest.exe 프로그램을 사용하여 WMI 쿼리를 실행하여 문제를 재현 할 수 있습니다.

procmon.exe를 실행하여로드중인 항목 (또는 내 경우로드하지 못함)을 보여 주었고 wmiprvse.exe가 레지스트리 키를로드하고 있었다는 것은 inetsrv가 C : \ windows 디렉터리에 있다고 말하고 있었지만 그렇지 않았습니다. 내 컴퓨터에 존재 (C : \ windows가 c : \ winnt로 대체 됨)

키를 업데이트하면 문제가 해결되었지만 여기서 더 큰 요점은이 오류가 발생하는 이유를 알아 내고 WMI 쿼리를 실행하는 동안 procmon을 실행하면 문제를 바로 지적하는 데 한 번의 시간이 걸린다는 것입니다. 바라건대 그것은 당신도 마찬가지입니다.

-------------------

WMI 등록은 모두 WMI (정적 클래스.

WMI CIM Studio (MS, IIRC의 WMI 도구의 일부)는 이러한 클래스를 탐색하는 데 유용합니다 (많은 쿼리를 작성하는 것보다 확실히 쉽습니다).



출처
https://stackoverflow.com/questions/7414965