MSBTS_HostSetting не найден

После создания сценария для автоматизации удаления экземпляров узла и узла я запускаю приведенный ниже сценарий в PowerShell.

PS

C:\WINDOWS\system32> [System.Management.ManagementObject]$objHostSetting = ([WmiClass]"root/MicrosoftBizTalkServer:MSBTS_HostSetting").Delete()

Однако после запуска сценария кажется, что MSBTS_HostSetting пропал, потому что я получал сообщение об ошибке ниже каждый раз, когда запускаю его.

PS

C: \ WINDOWS \ system32> [System.Management.ManagementObject] $ objHostSetting = [WmiClass] "root/MicrosoftBizTalkServer:MSBTS_HostSetting" Невозможно преобразовать значение "root/MicrosoftBizTalkServer:MSBTS_HostSetting" в тип "System.Management.". Ошибка: "Не найдено" В строке:1 символ:2 + [System.Management.ManagementObject]$objHostSetting =[WmiClass]"root/MicrosoftB ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId: InvalidCastToWMIClass

Я пытаюсь загрузить BizTalkOMExplorer, но MSBTS_HostSetting не вернулся. Любые предложения или знания, как я могу вернуть его.

2 ответа

С PowerShell вы можете получить свои HostInstances как:

$hostInstances = Get-WmiObject MSBTS_HostInstance -namespace root\MicrosoftBizTalkServer -ErrorAction Stop

И тогда вы можете найти, какой из них вы хотите удалить, и вызвать метод Delete:

 $hostInstances[0].Delete()

То же самое с хозяевами:

$hosts = Get-WmiObject MSBTS_Host -Namespace root\MicrosoftBizTalkServer -ErrorAction Stop
$hostToDelete = $hosts | where {$_.Name -eq 'HostNameToDelete'}
$hostToDelete.Delete()

Просто исправил мою проблему! Ниже то, что я сделал.

  1. Откройте CMD и зарегистрируйте файл BTSWMIProvider.dll. Пример: Regsvr32.exe "C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\Bins32\BTSWMIProvider.dll"
  2. Запустите следующее в CMD. mofcomp.exe BTSWMISchema.mof mofcomp.exe BTSWMISchema.mfl
  3. Перезапустите WMI в сервисах.

Это бы сработало!:)

Другие вопросы по тегам