I ran into this weird COM component error trying to run a commandlet from an IIS administration module.
Retrieving the COM class factory for component with CLSID {688EEEE5-6A7E-422F-B2E1-6AF00DC944A6} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_ CLASSNOTREG)).
The module imported fine and I could list the available commandlets and get help on them. So everything seemed to be installed properly. It just turned out that I was running the command on the wrong platform.
Or to be more exact, I ran the command in a 32-bit mode Powershell instance while I should have been in a 64 bit version. The COM component that was called is a 64 bit one, and that didn’t sit well with the 32-bit Powershell instance.
So how do you see what version of Powershell you’re in? Find out by running this statement , which returns true or false:
[Environment]::Is64BitProcess
Now that you know what mode you’re in, try the other one. You should have both in your Start Menu, where the 32-bit one has (x86) appended to the name. In my case that did the trick.
2 replies on “class not registered error in PowerShell on commandlet”
thanks it became dieasaster for me and u solved it well.
Thanks for this, it helps me well!