Summary
When I call Get-Cluster
powershell returns the name of my cluster. For simplicity sake, lets call it Cluster1
. If I call Get-Cluster -Name Cluster1
it fails with an error.
Error:
Get-Cluster : Check the spelling of the cluster name. Otherwise, there might be a problem with your network. Make sure
the cluster nodes are turned on and connected to the network or contact your network administrator.
The RPC server is unavailable
At line:1 char:1
+ Get-Cluster -Name Cluster1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ConnectionError: (:) [Get-Cluster], ClusterCmdletException
+ FullyQualifiedErrorId : ClusterRpcConnection,Microsoft.FailoverClusters.PowerShell.GetClusterCommand
Detail
My first thought is that I'm using the cmdlet wrong or winrm isn't working (it is). I also thought that maybe there's a difference in the way it's called that's causing the failure. Following that logic I reviewed the following technet page on the cmdlet:
Research: http://technet.microsoft.com/en-US/library/hh847254(v=wps.630).aspx
Based on the writing there, I couldn't discern an obvious user error. So I've tried a few things to figure it out. First I thought maybe I'm just constantly screwing up the typing so I did this:
$Cluster = Get-Cluster
($cluster.Name -like "Cluster1")
The conditional returns True
so I'm not a cluster f at typing. Next I tried the following:
Get-Cluster | Where-Object{$_.Name -like "Cluster1"}
Which of course returns the cluster object. So, what's going on here? What's different with Get-Cluster -Name "Cluster1"
?
Edit
Version info from Powershell:
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.34209
BuildVersion 6.3.9600.17090
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2