试图在' BizTalk'上执行InitializeDefaultDrives操作。提供商失败

时间:2017-07-13 19:45:52

标签: powershell biztalk biztalk-2016 biztalk-ps1-provider

我收到错误:

  

"试图在。上执行InitializeDefaultDrives操作   '的BizTalk'提供商失败。"。

几个月前我在BizTalk Dev系统上工作了;刚安装了生产服务器,并收到错误。

在Win 2012上使用BizTalk 2016.

我跑了命令:

  %windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
 .\BizTalkFactory.PowerShell.Extensions.dll

我在32位模式下使用PowerShell 4:

Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. All rights reserved.

PS C:\Users\myusername> get-pssnapin -registered


Name        : BizTalkFactory.PowerShell.Extensions
PSVersion   : 4.0
Description : Windows PowerShell CmdLets and Provider for Microsoft Biztalk Server

Name        : WDeploySnapin3.0
PSVersion   : 2.0
Description : This is a PowerShell snap-in that contains cmdlets for managing Microsoft Web Deployment infrastructure.



PS C:\Users\myusername> Add-PSSnapIn -Name BiztalkFactory.PowerShell.Extensions
Attempting to perform the InitializeDefaultDrives operation on the 'BizTalk' provider failed.
PS C:\Users\myusername> Add-PSSnapIn -Name BiztalkFactory.PowerShell.Extensions
PS C:\Users\myusername> Get-ExecutionPolicy
RemoteSigned

2 个答案:

答案 0 :(得分:3)

在我的开发环境中,BizTalk和SQL位于同一服务器上,但在生产环境中,它们位于不同的服务器上。

显然,如果在不同的服务器上,您必须添加以下行:

New-PSDrive -Name BizTalk -Root BizTalk:\ -PsProvider BizTalk -Instance MySqlServer -Database BizTalkMgmtDb

只需将“MySqlServer”替换为您的服务器名称即可。

在这里得到了想法/解决方案:Installing the BizTalkFactory PowerShell Provider on BizTalk 2013,他谈到创建Profile.ps1文件。或者我可能在Dev中创建了Profile.ps1,只是忘了它;现在检查一下。

答案 1 :(得分:1)

如果有人偶然发现了这个旧帖子,要停止错误,只需事先设置此变量即可:

$InitializeDefaultBTSDrive = $false

这也使其变得更快。

添加管理单元的另一种方法是仅导入模块,因此您的脚本将变为:

$InitializeDefaultBTSDrive = $false
Import-Module "$env:BTSINSTALLPATH\SDK\Utilities\PowerShell\BizTalkFactory.PowerShell.Extensions.dll" -WarningAction Ignore
New-PSDrive -Name BizTalk -PSProvider BizTalk -Root BizTalk:\ -Instance mybiztalksqlservername.mydomain -Database BizTalkMgmtDb