Seit 5.April 2013 bingen meine Powershellscripts mit encrypted Securestrings Fehlermeldungen beginnend mit:
ConvertTo-SecureString : Schlüssel ist im angegebenen Status nicht gültig.
Lösung:
Neuerdings sind die Schlüssel etwas länger. Also neuen Securestring erzeugen und encrypted Text im Script ersetzen.
Hier einige Beispielzeilen:
Cls
$S=convertto-securestring
"HalloWelt" -asplaintext -force
#Sicherer wäre den
Klartext zu vermeiden:#$S=read-host -assecurestring
$Ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($S)
$Decoded=[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($ptr);$Decoded
$Encrypted=convertfrom-securestring -securestring $s
$Encrypted.length;#Sollte neuerdings 324 sein
$A=(0..8)
0..8|%{$A[$_]=$Encrypted.substring(($_ * 36),36)}
"`$E=`$null";$A|%{"`$E+=""$_"""}
$E=$null;0..8|%{$E+=$A[$_]};$E
$S=convertto-securestring -string $E
$Ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($S)
$Decoded=[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($Ptr);$Decoded