BizTalk PowerShell Extensions not Found (not Installed)

Error: No snaps-ins have been registered for Windows PowerShell

You run the following:


<pre>cls
Add-PSSnapIn -Name BiztalkFactory.PowerShell.Extensions  #NOTE: Must be in 32-bit version of Powershellto use this SnapIn
</pre>


 

And you get this error:


<pre>Add-PSSnapIn : No snap-ins have been registered for Windows PowerShell version 3.
</pre>


First – make sure you are using a 32-bit version of PowerShell or PowerShell ISE.

If you run in the default 64-bit version, you will get this error, even when the PowerShell extensions are actually installed. %SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe (Disk location of all the PowerShell utilities are listed on this blog: https://www.powershelladmin.com/wiki/PowerShell_Executables_File_System_Locations.php)..

if you still get the error with the 32-bit version, then proceed to the next step below for how to install the PowerShell extensions for BizTalk.  

Solution:Go the SDK/Utilities/Powershell and install them

Basically follow the steps laid out by here MSDN BizTalk Forum, except you don’t need to download from CodePlex, you can use the one in the install.

  1. Navigate to: C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\SDK\Utilities\PowerShell
  2. Optionally open and follow the readme.txt
  3. Open a command prompt as an administrator
  4. Change directory to the folder containing the binaries – \SDK\Utilities\PowerShell under the base install location
  5. Run the following command to install/register the dlls
    %windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe .\BizTalkFactory.PowerShell.Extensions.dll

I needed this today to run a powershell to create biztalk hosts.

Part 2 – This happened again on a machine where I already had it working. I upgrade to Powershell 5, and apparently it loses these settings and you have to run the “installUtil.exe” again.

Also note if you are on an environment where SQL server is not on the same machine as BizTalk, you have to include the -Instance parameter which should be the DB Server that is running your BizTalk Databases:

<pre>New-PSDrive -Name BizTalk -Root BizTalk:\ -PsProvider BizTalk -Instance "Machine\Instance" -Database BizTalkMgmtDb
</pre>

Leave a Reply