2013-06-06 4 views
8

Dies funktioniert:Powershell ToUpper() in String

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

Das funktioniert nicht:

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

mit einem Fehler von dieser:

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

Irgendwelche Ideen auf, wie man String aus der Ausgabe der Get-ClusterGroup-Zeichenfolge in Großbuchstaben? Vielen Dank!

Antwort

19

ToUpper() ist eine String-Methode und OwnerNode ist wahrscheinlich keine Zeichenfolge. Rufen Sie die ToString() -Methode auf, bevor Sie ToUpper() aufrufen.

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

Wie Shay Levy bereits erläutert, OwnerNode kein String und hat somit kein Verfahren ToUpper(). Sie können ToUpper() auf seiner Name Eigenschaft jedoch anrufen:

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