我收到错误:
"试图在。上执行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
答案 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