maskierung

Powershell Variablen schützen

Written by  on Juli 17, 2016

Weiß jemand, wann sich das Verhalten von Powershell verändert hat? Ich habe in ein paar älteren Scripten Abschnitte ähnlich wie

$X="blabla"
write-output "$X"

Hängt man im Output jetzt einen Doppelpunkt an, passiert auf Windows 2012 R2:

write-output "$X:"
In Zeile:1 Zeichen:15
+ write-output "$X:"
+               ~~~
Ungültiger Variablenverweis. Nach ":" folgte kein Zeichen, das für einen Variablennamen gültig ist. Verwenden Sie ggf.
"${}", um den Namen zu begrenzen.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : InvalidVariableReferenceWithDrive

Die Lösung ist einfach:

write-output "${X}:"

Aber warum sich das Verhalten auf einmal ändert ist unklar.