INI文件

时间:2015-12-08 00:42:34

标签: powershell amazon-web-services amazon-s3 aws-powershell

我正在处理无人参与的PowerShell脚本,并希望以正确的方式存储AWS凭据。

根据the documentation,我应该可以将凭证存储在像这样的.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:加载存储的凭据时出错,(个人资料   location ='。\ 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

3 个答案:

答案 0 :(得分:5)

原因是在研究这个问题时,我们在最新版本(3.1.31.0以后)处理.ini格式文件时遇到了一个错误,我现在正在修复它。

如果您没有使用其中一个版本(我认为您不是基于这些版本中已修复的消息),那么请尝试将凭据文件的完整路径提供给-ProfilesLocation - 它可以就PowerShell所关注的“当前路径”而言,当cmdlet运行时,我认为它不是你想象的那样(我已经尝试过访问其他文件,例如我的个人资料)。

我在修复问题后会进一步更新。

答案 1 :(得分:1)

我认为如果你完全符合道路应该有效......相对路径是邪恶的。

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

答案 2 :(得分:0)

您可以通过以下PowerShell用户指南轻松存储凭据

Set-AWSCredentials -AccessKey xxxxxxx44Hxxxxxxx -SecretKey WVBUyB5ylBWtpxxxxxxxxxxxxxxxxxxxxxxxxxxx -StoreAs awskeys