4

無人 PowerShell スクリプトに取り組んでおり、AWS 認証情報を正しい方法で保存したいと考えています。

ドキュメントによると、このような.iniファイルに資格情報を保存できるはずです

.\myAWSCredentials.ini

[default]
aws_access_key_id = XXXXXXXXXXXXXXX
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

[namedProfile]
aws_access_key_id = XXXXXXXXXXXXXXX
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

そしてそれを私の環境にロードします

Set-AWSCredentials -ProfilesLocation .\myAWSCredentials.ini

また

Set-AWSCredentials -ProfileName namedProfile -ProfilesLocation .\myAWSCredentials.ini

しかし、意味をなさないエラーが表示されます — PowerShell はApp.configファイルとどのような関係があるのでしょうか?

Set-AWSCredentials : 保存された資格情報の読み込み中にエラーが発生しました (プロファイルの場所 = '.\myAWSCredentials.ini')。エラー: App.config に資格情報が含まれていません。AWSAccessKey と AWSSecretKey または AWSProfileName を追加します。行:1 文字:1 + Set-AWSCredentials -ProfilesLocation .\myAWSCredentials.ini + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Set-AWSCredentials], ArgumentException + FullyQualifiedErrorId : System.ArgumentException, Amazon.PowerShell.Common.SetCredentialsCmdlet

4

3 に答える 3

6

これを調査した結果、最新リリース (3.1.31.0 以降) で .ini 形式ファイルの処理にバグがあり、現在修正中です。

これらのリリースのいずれかを使用していない場合 (これらのリリースで修正されたメッセージに基づいているとは思わない場合) は、認証情報ファイルへのフル パスを -ProfilesLocation に指定してみてください。 PowerShellに関する限り、「現在のパス」は、コマンドレットの実行時に考えられるものではありません(たとえば、プロファイルからアクセスしようとした他のファイルでこれに遭遇しました)。

問題を修正したら、さらに更新します。

于 2015-12-08T02:42:00.573 に答える
1

パスを完全に修飾すればうまくいくはずだと思います....相対パスは悪です。

使用例: Set-AWSCredentials -ProfilesLocation c:\Path\to\file\myAWSCredentials.ini

于 2015-12-08T02:43:15.003 に答える