字符串中的PowerShell ToUpper()

tkr*_*krn 11 string methods powershell invocation

这有效:

Output "Cluster Group: ""$($Group.Name)"", Current Owner: $($Group.OwnerNode), Current State: $($Group.State)"
Run Code Online (Sandbox Code Playgroud)

这不起作用:

Output "Cluster Group: ""$($Group.Name)"", Current Owner: $($Group.OwnerNode.ToUpper()), Current State: $($Group.State)"
Run Code Online (Sandbox Code Playgroud)

有一个错误:

Method invocation failed because [Microsoft.FailoverClusters.PowerShell.ClusterNode] doesn't contain a method named 'ToUpper'.
Run Code Online (Sandbox Code Playgroud)

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

Sha*_*evy 25

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

$($Group.OwnerNode.ToString().ToUpper())
Run Code Online (Sandbox Code Playgroud)


Ans*_*ers 7

正如Shay Levy已经解释的那样,OwnerNode它不是一个字符串,因此不是一种方法ToUpper().你可以打电话ToUpper()给它的Name财产:

$($Group.OwnerNode.Name.ToUpper())
Run Code Online (Sandbox Code Playgroud)