Попытка выполнить операцию 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
Другие вопросы по тегам