Powershell命令用于列出特定/单个群集节点上的服务

时间:2017-12-07 13:53:18

标签: powershell

如何使用Powershell在给定群集中的特定节点上查找服务列表?

此群集组ServerName_1ServerName_2中有2个节点,我正在尝试在Server_name1上获取服务。

我已尝试运行以下命令,但我没有收到任何输出或错误。

我尝试使用以下命令,我可以得到结果:

PS C:\Users\sd> Get-ClusterGroup | Where-Object {$_.State -EQ "Online"}

Name                    OwnerNode           State
----                    ---------           -----  
Service_1              ServerName_1       Online  
Service_2              ServerName_2       Online

但是,当我尝试使用相同的命令提取OwnerNode时,我没有看到任何结果,如下所示:

PS C:\Users\sd> Get-ClusterGroup | Where-Object {$_.OwnerNode -EQ <ServerName_1>}
PS C:\Users\sd>

由于我没有看到任何输出,我不确定我执行的命令是否正确?

我需要这个,所以我可以单独在ServerName_1上启动特定服务。

PS C:\Users\sd> Start-ClusterGroup -Name <ServiceName> | Where-Object
 { $_.OwnerNode -eq "<ServerName1>" }

PS C:\Users\sd>

2 个答案:

答案 0 :(得分:1)

您的代码中不需要< >,更新

Get-ClusterGroup | Where-Object {$_.OwnerNode -EQ <ServerName_1>}

Get-ClusterGroup | Where-Object {$_.OwnerNode -EQ "ServerName_1"}

答案 1 :(得分:0)

我对此进行了测试,它按预期工作:

列出ClusterGrop名称 -

Get-ClusterNode -Name "Server_name" | Get-ClusterGroup

另外, 列出ClusterGroup服务 -

Get-ClusterNode -Name "Server_name" | Get-ClusterResource