PowerShell 仅启动 运行 个主机实例

PowerShell to start only running Host Instances

我们有一个 windows 集群环境,其中包含集群 FTP 和 MQ 主机实例以及非集群主机实例。

我希望能够仅重新启动 运行 主机实例。我有一个启动所有主机实例的脚本,但我们不想在被动集群节点上启动已停止的实例。我有一个脚本来启动所有主机实例。

有谁知道如何只启动 运行 除了从特定主机实例列表中读取的脚本之外的其他程序?

继续@jcarreiro 解决方案,您必须获取主机实例,按 HostType = 1 和 ServiceState = 4 进行过滤。

主机类型的值为1 - 进程中、2 - 隔离

ServiceState 的值是:1 - 已停止,2 - 开始挂起,3 - 停止挂起,4 - 运行、5 - 继续待定、6 - 暂停待定、7 - 已暂停、8 - 未知

[ARRAY]$hostInstances = Get-WmiObject MSBTS_HostInstance -namespace "root\MicrosoftBizTalkServer" -Filter "(HostType = 1 and ServiceState = 4)" 
Write-Host ("Total Number of Host Instances running : "+$hostInstances.Count) -Fore Yellow 
Write-Host “Re-starting Host instance” -Fore Yellow 

foreach ($hostInstance in $hostInstances) 
{ 
    $hostInstance.Stop()
    $hostInstance.Start()
}

Write-Host “Host instances are restarted successfully” -Fore Green