Попытка выполнить операцию InitializeDefaultDrives на провайдере BizTalk не удалась
Я получаю ошибку:
"Попытка выполнить операцию InitializeDefaultDrives на поставщике BizTalk не удалась."
Я начал работать над нашей системой BizTalk Dev несколько месяцев назад; только что установил производственный сервер сегодня и получил ошибку.
Использование BizTalk 2016 на Win 2012.
Я запустил команду:
%windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
.\BizTalkFactory.PowerShell.Extensions.dll
и я использую PowerShell 4 в 32-разрядном режиме:
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
1 ответ
В моей среде разработки BizTalk и SQL находились на одном сервере, но в производственной среде они находятся на разных серверах.
Видимо, если на разных серверах, вы должны добавить эту строку:
New-PSDrive -Name BizTalk -Root BizTalk:\ -PsProvider BizTalk -Instance MySqlServer -Database BizTalkMgmtDb
Просто замените "MySqlServer" на имя вашего сервера.
Есть идея / решение здесь: установка поставщика BizTalkFactory PowerShell на BizTalk 2013, где он рассказывает о создании файла Profile.ps1. Или, возможно, я создал этот Profile.ps1 в Dev и просто забыл об этом; проверяя это сейчас.
Если кто-то наткнется на этот старый пост, чтобы остановить ошибку, просто установите эту переменную заранее:
$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