C# 如何确定故障转移群集中的活动节点

C# 如何确定故障转移群集中的活动节点,c#,cluster-computing,nodes,C#,Cluster Computing,Nodes,我们需要一种从代码中确定应用程序集群的哪个节点当前处于活动状态的方法。有没有办法用C#实现这一点?这不是C#代码,而是PowerShell。所以,这不是一个答案,但我需要一个PowerShell解决方案来获取一般节点(不一定是活动节点),这个问题在我的Google搜索中出现了。在我看来,PowerShell FailoverClusters模块编写得相当糟糕,因此我必须(主要)恢复到非PowerShell对象(如WMI)才能正确完成 $Clusters=Get-ADComputer -Serve

我们需要一种从代码中确定应用程序集群的哪个节点当前处于活动状态的方法。有没有办法用C#实现这一点?

这不是C#代码,而是PowerShell。所以,这不是一个答案,但我需要一个PowerShell解决方案来获取一般节点(不一定是活动节点),这个问题在我的Google搜索中出现了。在我看来,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

$Clusters=Get-ADComputer-Server“这可能是一个非SQL群集的副本。我需要一种方法来确定应用程序群集上当前活动的节点。有人有办法做到这一点吗?非常模糊的问题。你在说什么应用程序群集?你使用的是Windows Server 2012 R2吗?