ConvertTo-SecureString-Key not valid for use in specified state

Ich erhalte eine Fehlermeldung beim ausführen eines Skripts als einen besonderen Benutzer, aber nicht als meine eigenen Benutzer-account. Dies ist auf Windows 2012R2. Powershell-Modul installiert wurde, und wurde im Einsatz für einige Zeit, aber mit einem anderen account verhindert, dass es läuft. Weil ich in der Lage gewesen, um es auszuführen, ich fühle mich wie ich kann ausschließen, fehlende Dateien oder fehlerhafte Befehle in das Skript. Der rest des Skripts ist abhängig von dieser. Ich habe auch ausgeführt, das convertto-securestring-Optionen, indem Sie das service-Konto an, das ausgeführt werden die Befehle durch die Automatisierung, aber es immer noch nicht.

Dies ist die sichere Passwort-script, ich lief zu konvertieren, das Passwort

$password = "password"
$secureStringPwd = $password | ConvertTo-SecureString -AsPlainText -Force 
$secureStringText = $secureStringPwd | ConvertFrom-SecureString 
Set-Content "E:\temp\ExportedPassword.txt" $secureStringText`

Dies ist die Fehlermeldung, nachdem Sie versuchen, führen Sie als Benutzer B

line 4 $pwdTxt = Get-Content "E:\temp\ExportedPassword.txt"
line 5 $securePwd = $pwdTxt | ConvertTo-SecureString

ConvertTo-SecureString : Key not valid for use in specified state.
At E:\temp\get_user_cliffsv4.ps1:5 char:24
+ $securePwd = $pwdTxt | ConvertTo-SecureString
+                        ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [ConvertTo-SecureString], 
CryptographicException
+ FullyQualifiedErrorId : 
ImportSecureString_InvalidArgument_CryptographicError,Microsoft.PowerShell. 
Commands.ConvertToSecureStringCommand

Ich dieses Skript ausgeführt haben unzählige Male durch Automatisierung software, aber beim testen hatte ich den Befehl ausführen als meine persönliches Konto, weil dieser Fehler und um das zu umgehen, so konnte ich den Test, ich aufgerufen, die option. Meine Frage ist, ist das Konto, das ich verwende, fehlt jede Besondere Rechte? Muss ich zur Installation der Powershell extensions unter diesem Konto oder kann ich das einstellen/ändern etwas in PS oder auf dem server, so dass das service-Konto, um dieses Skript auszuführen? Vielen Dank im Voraus!

Wie Sie bereits selbst heraus gefunden; SecureStrings, Anmeldeinformationen usw.. sind standardmäßig verschlüsselt unter Verwendung einer Benutzer-spezifischen Schlüssel, so dass Sie nicht geteilt werden kann (oder: ausgelaufen) unter verschiedenen Benutzerkonten.
Ja, habe diese Arbeit mit dem system-Konto, so dass sogar besser als ein Benutzer ausgeführt service. Wir haben einen Prozess in Ort, um die Schlüssel erstellt, die auf jedem host laufen wir unseren service in dieser Art und Weise.
Möglich, Duplikat der das Speichern von Anmeldeinformationen für die Wiederverwendung von powershell und Fehler ConvertTo-SecureString : Key not valid for use in specified state

InformationsquelleAutor Jon T | 2017-05-05

Schreibe einen Kommentar