我们需要一种方法来从代码中确定应用程序集群的哪个节点当前处于活动状态。有没有办法使用 C# 做到这一点?
问问题
6420 次
1 回答
0
这不是 C# 代码,而是 PowerShell。所以,这不是一个答案,但我需要一个 PowerShell 解决方案来获取一般节点(不一定是活动节点),这个问题出现在我的谷歌搜索中。IMO,PowerShell FailoverClusters 模块写得相当糟糕,所以我必须恢复到(主要是)非 PowerShell 对象(如 WMI)才能正确完成它。
$Clusters=Get-ADComputer -Server "<specific domain controller (optional)" -LDAPFilter "(servicePrincipalName=*MSClusterVirtualServer/*)" -SearchBase "OU=Servers,DC=<domain name>,DC=com" | Select-Object -ExpandProperty DNSHostName
$ClusterNodes=$Clusters | ForEach-Object { Get-WMIObject -Namespace "root\MSCluster" -ComputerName $_ -Query "SELECT Name FROM MSCluster_Node" -EnableAllPrivileges } | Select-Object -ExpandProperty Name
于 2020-12-07T15:02:27.693 回答