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()
Просто исправил мою проблему! Ниже то, что я сделал.
- Откройте CMD и зарегистрируйте файл BTSWMIProvider.dll. Пример: Regsvr32.exe "C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\Bins32\BTSWMIProvider.dll"
- Запустите следующее в CMD. mofcomp.exe BTSWMISchema.mof mofcomp.exe BTSWMISchema.mfl
- Перезапустите WMI в сервисах.
Это бы сработало!:)