2017-05-03 83 views
0

在構建腳本以自動刪除主機和主機實例時,我在PowerShell中運行以下腳本。未找到MSBTS_HostSetting

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" Cannot convert value "root/MicrosoftBizTalkServer:MSBTS_HostSetting" to type "System.Management.ManagementClass". Error: "Not found " At line:1 char:2 + [System.Management.ManagementObject]$objHostSetting =[WmiClass]"root/MicrosoftB ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : InvalidCastToWMIClass

我試圖加載BizTalkOMExplorer但MSBTS_HostSetting至今未歸。任何建議或知識我怎樣才能把它帶回來。

+1

爲什麼你認爲在刪除它之後該設置會在那裏? –

+0

老實說,我不知道刪除()會刪除整個設置,這就是爲什麼我想把它帶回來,雖然網絡中的主題較少。 – jgpadilla04

+0

你認爲'.delete()'方法會做什麼?當然,你檢查了[類的文檔](https://msdn.microsoft.com/en-us/library/aa560307.aspx)和[操縱它的示例代碼](https://msdn.microsoft.com /en-us/library/aa560467.aspx)在寫和使用你的代碼之前? –

回答

0

剛解決了我的問題!以下是我所做的。

  1. 打開CMD,並註冊BTSWMIProvider.dll 例子: Regsvr32.exe的「C:\ Program Files文件(x86)的\微軟的BizTalk Server 2013 R2 \ Bins32 \ BTSWMIProvider.dll」
  2. 運行在以下CMD也是如此。 mofcomp.exe BTSWMISchema.mof mofcomp.exe BTSWMISchema.mfl
  3. 重新啓動服務中的WMI。

這會做的伎倆! :)

0

使用PowerShell,你可以得到你HostInstances爲:

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

然後你可以找到你要刪除並調用刪除方法其中之一:

$hostInstances[0].Delete() 

與主機相同:

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