找不到MSBTS_HostSetting

时间:2017-05-03 14:13:19

标签: powershell biztalk biztalk-2013r2

在构建脚本以自动删除主机和主机实例时,我在PowerShell中运行以下脚本。

PS

  

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

然而,在运行脚本之后,似乎MSBTS_HostSetting已经消失了,因为每次运行它时都会收到以下错误。

PS

  

C:\窗口\ system32>   [System.Management.ManagementObject] $ objHostSetting   = [WmiClass]“root / MicrosoftBizTalkServer:MSBTS_HostSetting”无法将值“root / MicrosoftBizTalkServer:MSBTS_HostSetting”转换为类型   “System.Management.ManagementClass”。错误:“未找到”在第1行:   焦炭:2   + [System.Management.ManagementObject] $ objHostSetting = [WmiClass]“root / MicrosoftB ...   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:InvalidArgument:(:) [],RuntimeException       + FullyQualifiedErrorId:InvalidCastToWMIClass

我正在尝试加载BizTalkOMExplorer,但MSBTS_HostSetting尚未返回。任何建议或知识我怎样才能把它带回来。

2 个答案:

答案 0 :(得分:0)

刚刚解决了我的问题!以下是我的所作所为。

  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。
  4. 这样就可以了! :)

答案 1 :(得分:0)

使用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()