奇怪的Powershell `设置AWSCredentials` INI文件错误

奇怪的Powershell `设置AWSCredentials` INI文件错误,powershell,amazon-web-services,amazon-s3,aws-powershell,Powershell,Amazon Web Services,Amazon S3,Aws Powershell,我正在开发无人参与的PowerShell脚本,希望以正确的方式存储AWS凭据 根据,我应该能够像这样将凭据存储在.ini文件中 .\myAWSCredentials.ini 并将其加载到我的环境中 设置AWSCredentials-ProfilesLocation。\myAWSCredentials.ini 或 Set AWSCredentials-ProfileName namedProfile-ProfilesLocation.\myAWSCredentials.ini 但我遇到了一个毫无意

我正在开发无人参与的PowerShell脚本,希望以正确的方式存储AWS凭据

根据,我应该能够像这样将凭据存储在.ini文件中

.\myAWSCredentials.ini

并将其加载到我的环境中

设置AWSCredentials-ProfilesLocation。\myAWSCredentials.ini

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

但我遇到了一个毫无意义的错误-PowerShell与App.config文件有什么关系

设置AWSCredentials:加载存储的凭据时出错(配置文件 位置='。\myAWSCredentials.ini')。错误:App.config不可用 包含凭据信息。添加AWSAccessKey和 AWSSCretKey或AWSProfileName。第1行字符:1 +设置AWSCredentials-ProfilesLocation。\myAWSCredentials.ini + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:NotSpecified:(:)[Set-AWSCredentials],ArgumentException +FullyQualifiedErrorId:System.ArgumentException,Amazon.PowerShell.Common.SetCredentialsCmdlet


在调查中发现,我们在处理最新版本(3.1.31.0以后)中的.ini格式文件时遇到了一个bug,我正在修复这个bug

如果您没有使用这些版本中的任何一个(并且我认为您没有基于这些版本中已修复的消息),请尝试向-ProfilesLocation-提供凭据文件的完整路径,这可能是PowerShell所关心的“当前路径”与运行cmdlet时您所认为的不同(我在尝试访问其他文件(例如从我的个人资料)时遇到过这种情况)


当我解决了这个问题后,我会进一步更新。

我认为如果你完全限定了路径,它应该会工作……相对路径是邪恶的

例如,使用:
轻松设置AWSCredentials-profiles位置c:\Path\to\file\myAWSCredentials.ini

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

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

v3.1.33.0现已发布,修复了我注意到的错误(使用文本格式凭据文件时,工具会出现“找不到配置文件”错误。提供了。\n文件位置正确,或者您传递了凭据文件的完整路径。您应该能够加载凭据,并且不会遇到奇怪的app.config消息。非常感谢Steve Roberts-我已经更新并获得了正确的行为。)vior now和更好的错误消息。我还弄乱了INI文件中的键。我将编辑上面的示例,以免将任何人引入同一条路径。它仍然需要INI文件的完整路径。不确定为什么/何时,但您可能希望在文档中加以说明。谢谢,我会将其传递给我们的文档团队。我认为始终使用无论如何,这是一条完整的路径。
Set-AWSCredentials -AccessKey xxxxxxx44Hxxxxxxx -SecretKey WVBUyB5ylBWtpxxxxxxxxxxxxxxxxxxxxxxxxxxx -StoreAs awskeys