Error msg: “No snap-ins have been registered for Windows PowerShell version 2.”


A customer reported the “No snap-ins have been registered for Windows PowerShell version 2.” Error message running their code on a windows 2008 r2 server box.

They were running code that would haven run inside a c# application which called used the Microsoft.Exchange.Management.Powershell.Admin namespace to call the powershell enable-mailbox cmdlet.  

On cause of this error message is worth checking how you are registering the snapin on W2K8 R2?  We have seen instances where customers used wrong version of installutil.exe and the snapin got registered under WOW hives of a 64bit machine. The Installer tool (Installutil) allows you to install and uninstall server resources by executing installer components in specified assemblies. Check if you are using the correct version of installutil –  Framework64 version of installutil.exe to register snapins and trying to load the snapin from a 64bit process.

 

Also review the shortcut to powershell, are you loading up the 32 bit version of 64 bit?  When looking at the properties of the shortcuts to Powershell and Powershell(x86) on the start menu they may point to “%SystemRoot%\System32\WindowsPowerShell\V1.0” and “%SystemRoot%\SysWOW64\WindowsPowerShell\V1.0”. check if you intend to run the 32bit version or not?

 

 

Comments (6)

  1. Your article are very impressive. Thank you so much.

    More Wait…

  2. Prethesh Kumar Bhalotia says:

    Hi,

    I am also getting the same error. Can you please tell me how to overcome this problem.

  3. Chandra says:

    Prethesh – I have the same problem. Did you get any solution?

    Anybody has any solution to this problem?

  4. SaintBread says:

    SnapIns is old mechanism, Modules is new mechanism.

    refer to this page:

    blog.codeinside.eu/…/powershell-snapins-vs-modules

  5. rob says:

    For server 2008 (not r2) you might need to install the provider, http://www.microsoft.com/…/confirmation.aspx

  6. Arnold Villeneuve says:

    The issue is that the PowerShell Registry Key is corrupted. Copy the PowerShell Registry key from a working Windows Server 2008 R2 server to the non working one.

    HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell

    That worked for me.

    Uninstalling the PowerShell ISV and reinstalling it did not work.  

Skip to main content