I’m currently writing Chapter 11 of PowerShell and WMI and its about using the WMI classes related to networking. I tried the Win32_NetworkAdapter on the HP laptop I use for writing and everything worked fine. Tried it on my Lenovo that I use as a Hyper-V server and got a Provider Load failure error.
PS> Get-WmiObject -Class Win32_NetworkAdapter
Get-WmiObject : Provider load failure
At line:1 char:14
+ Get-WmiObject <<<< -Class Win32_NetworkAdapter
+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], ManagementException
+ FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
This is definitely in the realms of not good. At this point I was imagining WMI rebuild or even a complete server rebuild.
Get-WmiObject -Class Win32_NetworkAdapterConfiguration
and it worked. Now that’s confusing.
Did a Bing search and found this post
which walks through how to use wbemtest to see what is happening.
Turns out like the author of the post I had the Intel WiFi tools installed but didn’t have an Intel wireless card. The LAN card is Intel so I guess that’s where the tools came from. The wifiwmip.dll seems to be to blame for the problem.
Removed the intel WiFi tools and everything now works.