Salvando credenciais para reutilização pelo PowerShell e erro ConvertTo-SecureString: Chave inválida para uso no estado especificado

Eu estava fazendo algo como descrito nesta postagem para salvar credenciais em um arquivo protegido, para que nosso processo automatizado possa usá-lo para executar scripts PS remotos via Invoke-command:http: //blogs.technet.,com/b/robcost/archive/2008/05/01/powershell-tip-storing-and-using-password-credentials.asp

Isso funciona muito bem quando executo isso na minha conta - a senha é lida no arquivo criptografado, passada para Invoke-command e está tudo be

oje, quando meu script estava pronto para o horário nobre, tentei executá-lo na conta do Windows que será usada por processos automatizados e obtive esse erro abaixo enquanto meu script tentava ler a senha segura de um arquivo:

ConvertTo-SecureString : Key not valid for use in specified state.
At \\remoted\script.ps1:210 char:87
+ $password = get-content $PathToFolderWithCredentials\pass.txt | convertto-sec
urestring <<<<
    + CategoryInfo          : InvalidArgument: (:) [ConvertTo-SecureString], C
   ryptographicException
    + FullyQualifiedErrorId : ImportSecureString_InvalidArgument_Cryptographic
   Error,Microsoft.PowerShell.Commands.ConvertToSecureStringCommand

Solicitou ao meu colega de trabalho que corresse sob sua conta e ele recebeu o mesmo err

Este é o código que estou usando para salvar credenciais:

$PathToFolderWithCredentials = "\\path\removed"

write-host "Enter login as domain\login:"
read-host | out-file $PathToFolderWithCredentials\login.txt

write-host "Enter password:"
read-host -assecurestring | convertfrom-securestring | out-file $PathToFolderWithCredentials\pass.txt

write-host "*** Credentials have been saved to $pathtofolder ***"

Este é o código no script a ser executado pelo processo automatizado para lê-los para uso no comando Invoke:

$login= get-content $PathToFolderWithCredentials\login.txt
$password = get-content $PathToFolderWithCredentials\pass.txt | convertto-securestring
$credentials = new-object -typename System.Management.Automation.PSCredential -argumentlist $login,$password

erro ocorre na linha $ password = get-content $ PathToFolderWithCredentials \ pass.txt | convertto-securestring

Alguma ideia

questionAnswers(4)

yourAnswerToTheQuestion