【发布时间】:2014-10-06 23:54:50
【问题描述】:
我正在使用以下脚本从同一域中的远程服务器获取主机实例状态。
$servers = ("usxxxxxxx01")
function checkhostinstancestatusstarted ($server)
{
$hostinstances = get-wmiobject MSBTS_HostInstance -namespace 'root\MicrosoftBizTalkServer' | where {$_.runningserver -match $server -AND $_.hosttype -ne "2" -and $_.IsDisabled -ne "True"}
write-host "Checking the state of all host instances on the server $server"
foreach ($hostinstance in $hostinstances)
{
$HostInstanceName = $HostInstance.hostname
#Checks the host instance state
if ($HostInstance.ServiceState -eq 1)
{
write-host "$HostInstanceName`: Stopped."
}
elseif ($HostInstance.ServiceState -eq 2)
{
write-host "$HostInstanceName`: Start pending."
}
elseif ($HostInstance.ServiceState -eq 3)
{
write-host "$HostInstanceName`: Stop pending."
}
elseif ($HostInstance.ServiceState -eq 4)
{
write-host "$HostInstanceName`: Started."
}
elseif ($HostInstance.ServiceState -eq 5)
{
write-host "$HostInstanceName`: Continue pending."
}
elseif ($HostInstance.ServiceState -eq 6)
{
write-host "$HostInstanceName`: Pause pending."
}
elseif ($HostInstance.ServiceState -eq 7)
{
write-host "$HostInstanceName`: Paused."
}
elseif ($HostInstance.ServiceState -eq 8)
{
write-host "$HostInstanceName`: Unknown."
}
}
write-host `n
}
foreach ($server in $servers)
{
checkhostinstancestatusstarted $server
}
我遇到了这个异常。但是BizTalk是在服务端配置的,主机实例处于运行状态。
Get-WmiObject : 服务器尚未配置。要配置服务器,请运行 BizTalk Server 配置向导并配置组功能。在 line:10 char:3 + Get-WmiObject -Class "MSBTS_HostInstance" -Namespace 'root\MicrosoftBizTalkSer ... + ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Get-WmiObject], COMException + FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
有谁知道问题出在哪里?或者,如果您有更好的脚本版本,那么它或任何跨域脚本都会有所帮助。
注意:我的本地机器在 PSv3 上,而远程 BizTalk 服务器在 v2 上。
【问题讨论】:
-
请注意:我尝试执行脚本的本地服务器位于 PSv3 上,而 biztalk 服务器位于 v2 上。
标签: powershell biztalk powershell-3.0 biztalk-2010