使用 powershell 获取集群所属节点名称

使用 powershell 获取集群所属节点名称

集群资源“集群磁盘”正在获取数据

资源“SQL Server (CLUSTER)”的列表状态:

资源组节点状态


群集磁盘 群集磁盘 Node1 联机

我如何在这里解析节点名称或者是否有其他命令可以帮助我获取它?

答案1

Windows Server 2008 R2 及更高版本包含用于故障转移群集的 Powershell 模块,但它们不向后兼容 Windows Server 2008 或 2003。我更喜欢使用支持所有操作系统版本且不需要解析的 WMI。以下是使用 WMI 列出资源和活动节点的方法:

 $cluster = "myCluster"
 gwmi -ComputerName $cluster -Authentication PacketPrivacy -Namespace "root\mscluster" -Class MSCluster_Resource |
  add-member -pass NoteProperty Cluster $cluster | 
    add-member -pass ScriptProperty Node {
     gwmi -namespace "root\mscluster" -computerName $this.Cluster -Authentication PacketPrivacy -query "ASSOCIATORS OF {MSCluster_Resource.Name='$($this.Name)'} WHERE AssocClass = MSCluster_NodeToActiveResource" |
      Select -ExpandProperty Name } | select name, node

相关内容