我使用 Windows 网络负载平衡功能设置了一个由 2 个节点组成的集群。一切都设置好了,我的集群
为了进行监控,我想使用 PowerShell 获取集群内节点的状态。我发现了这一点Nagios 探测器,基于 cmdlet,Get-NLBClusterNode
但 PS cmdlet 返回错误。
我尝试在提升的 PowerShell 提示符下运行它,但得到了相同的行为:
PS C:\Users\Administrator> Get-NlbClusterNode
Get-NlbClusterNode : Failed to perform operation. Please refer to the cmdlet help to make sure all parameters are specified correctly.
At line:1 char:19
+ Get-NlbClusterNode <<<<
+ CategoryInfo : InvalidData:(Microsoft.Netwo...tNlbClusterNode:GetNlbClusterNode) [Get-NlbClusterNode],
Exception
+ FullyQualifiedErrorId : COMException,Microsoft.NetworkLoadBalancingClusters.PowerShell.GetNlbClusterNode
如果我运行Get-NLBCluster
cmdlet,我会获得有关集群的信息,如下所示:
PS C:\Users\Administrator> Get-NlbCluster
Name IPAddress SubnetMask Mode
---- --------- ---------- ----
cluster-name XX.XX.XX.XX 255.255.255.0 MULTICAST
在 cmdlet 文档中,我读到-InputObject
集群名称是必需的。但即使提到了这一点,我还是收到另一个错误(无法 biend 参数):
PS C:\Users\Administrator> Get-NlbClusterNode -InputObject "cluster-name"
Get-NlbClusterNode : Cannot bind parameter 'InputObject'. Cannot convert the "gw-cluster" value of type "System.String"
to type "Microsoft.NetworkLoadBalancingClusters.PowerShell.Cluster".
At line:1 char:32
+ Get-NlbClusterNode -InputObject <<<< "cluster-name"
+ CategoryInfo : InvalidArgument: (:) [Get-NlbClusterNode], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.NetworkLoadBalancingClusters.PowerShell.GetNlbClusterNode
该模块的有效cmdlet是:
Get-NLBCLuster
,Get-NLBCLusterDriverInfo
。Get-NLBCLusterNodeInterface
我的节点有 2 个网络接口,但只有第二个用于 NLB。第一个用于管理访问Get-NLBCLusterPortRule
Get-NLBCLusterVip
那些不起作用的是:
Get-NLBCLusterNode
(明显地)Get-NLBCLusterNodeDip
。
我正在运行 Server 2008R2,.Net 版本为 3.5.1。
有人能查明这个问题的原因吗?