为什么我不能将ToUpper()应用于OwnerNode?

时间:2013-06-06 13:33:30

标签: string powershell methods invocation

这有效:

Output "Cluster Group: ""$($Group.Name)"", Current Owner: $($Group.OwnerNode), Current State: $($Group.State)"

这不起作用:

Output "Cluster Group: ""$($Group.Name)"", Current Owner: $($Group.OwnerNode.ToUpper()), Current State: $($Group.State)"

出现以下错误:

Method invocation failed because [Microsoft.FailoverClusters.PowerShell.ClusterNode] doesn't contain a method named 'ToUpper'.

有关如何将此字符串从Get-ClusterGroup字符串的输出变为大写的任何想法?

2 个答案:

答案 0 :(得分:25)

ToUpper()是一个字符串方法,OwnerNode可能不是字符串。在调用ToUpper()之前调用ToString()方法。

$($Group.OwnerNode.ToString().ToUpper())

答案 1 :(得分:7)

正如Shay Levy已经解释过的那样,OwnerNode不是字符串,因此不是方法ToUpper()。您可以在其ToUpper()媒体资源上调用Name

$($Group.OwnerNode.Name.ToUpper())