[解決済み] powershell で再利用するために資格情報を保存すると、ConvertTo-SecureString : Key not valid for use in specified state というエラーが発生する。
質問
この投稿で説明されているようなことを行って、認証情報を保護されたファイルに保存し、自動化プロセスでそれを使用して Invoke-command を介してリモート PS スクリプトを実行できるようにしていました。 http://blogs.technet.com/b/robcost/archive/2008/05/01/powershell-tip-storing-and-using-password-credentials.aspx
パスワードは暗号化されたファイルから読み込まれ、Invoke-commandに渡され、すべてがうまくいきます。
今日、スクリプトの準備ができたので、自動化プロセスで使用されるWindowsアカウントで実行しようとしたところ、スクリプトがファイルから保護されたパスワードを読み込もうとしているときに、以下のようなエラーが発生しました。
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
仕事仲間に彼のアカウントで実行するように頼んだら、同じエラーが出た。
これは、私が認証情報を保存するために使用しているコードです。
$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 ***"
これは、Invoke-commandで使用するためにそれらを読み込む自動化プロセスで実行するスクリプトのコードです。
$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
Error happens on line $password = get-content $PathToFolderWithCredentialspass.txt | convertto-securestring
何か思い当たることはありますか?
解決方法は?
ConvertFrom-SecureString
を取る。
Key
( と
SecureKey
) パラメータを使用します。鍵を指定して暗号化された標準文字列を保存し、その鍵を再び
ConvertTo-SecureString
を使用すると、ユーザーアカウントに関係なく、安全な文字列を取得できます。
http://technet.microsoft.com/en-us/library/dd315356.aspx
あるプロジェクトで、非対称暗号化を実装しました。人々は公開鍵を使ってパスワードを暗号化し、自動化プロセスはパスワードを復号するための秘密鍵を持つというものです。 自動デプロイのための本番環境設定でのパスワードの扱い
関連
-
[解決済み】Invoke-Command エラー "Parameter set cannot be resolved using specified named parameters".
-
[解決済み] powershell で再利用するために資格情報を保存すると、ConvertTo-SecureString : Key not valid for use in specified state というエラーが発生する。
-
[解決済み] Get-ADUser でのエラー: 無効な列挙コンテキスト
-
[解決済み] Get-ChildItem -force で My Documents フォルダとその他の接続ポイントに "Access Denied" を報告する。
-
[解決済み] PowerShellと-contains演算子
-
[解決済み] cmdletbinding()】とは何ですか、どのように機能するのですか?
-
[解決済み] powershellスクリプトで、最後に改行を入れずにWrite-Warningすることはできますか?
-
[解決済み] PowerShell モジュールを全ユーザーに持続的にインストールする
-
[解決済み] Powershell Get-ChildItem -Filter は、同じ値でWhere句とは異なる動作をします。
-
[解決済み] Join-Pathを使って、2つ以上の文字列をファイルパスに結合するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】powershellにターミネーターがない。"
-
[解決済み] リモートサーバーへのEnter-PSSessionが "access is denied "で失敗する。
-
[解決済み] Add-ADGroupMember が ID を持つオブジェクトを見つけられません。
-
[解決済み] powershellでマウスクリックを送信するにはどうすればよいですか?
-
[解決済み] ヌル値の式でメソッドを呼び出すことはできない
-
[解決済み] Powershell ISE 内の別の PS1 スクリプトから PowerShell スクリプト PS1 を呼び出す
-
[解決済み] Windows PowerShellでファイルが存在するかどうかをチェックする?
-
[解決済み] PowerShellの複数行コメント
-
[解決済み] powershell内でキーストロークを実行する方法は?
-
[解決済み] PowerShellスクリプトから終了コードを返す