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。在 line:1 char: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 而言,“当前路径”并不是您在 cmdlet 运行时所认为的那样(我曾尝试从我的个人资料中访问其他文件)。

解决问题后,我会进一步更新。

于 2015-12-08T02:42:00.573 回答
1

我认为,如果您完全限定了它应该起作用的路径....相对路径是邪恶的。

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

于 2015-12-08T02:43:15.003 回答
0

您可以按照 powershell 用户指南轻松存储凭据

Set-AWSCredentials -AccessKey xxxxxxx44Hxxxxxxx -SecretKey WVBUyB5ylBWtpxxxxxxxxxxxxxxxxxxxxxxxxxxx -StoreAs awskeys
于 2017-11-20T14:15:23.890 回答