Почему я не могу применить ToUpper() к OwnerNode?

Это работает:

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 в верхний регистр?

Ответ 1

ToUpper() - это строковый метод, а OwnerNode - не строка. Вызовите метод ToString() перед вызовом ToUpper().

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

Ответ 2

Как Shay Levy уже объяснил, OwnerNode не является строкой и, таким образом, не является методом ToUpper(). Вы можете называть ToUpper() своим свойством Name, хотя:

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