INI 文件出现奇怪的 Powershell `Set-AWSCredentials` 错误
Weird Powershell `Set-AWSCredentials` error with INI file
我正在处理无人值守的 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 : Error loading stored credentials, (profile
location = '.\myAWSCredentials.ini'). Error: App.config does not
contain credentials information. Either add the AWSAccessKey and
AWSSecretKey or AWSProfileName. At line:1 char:1
+ Set-AWSCredentials -ProfilesLocation .\myAWSCredentials.ini
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-AWSCredentials], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Amazon.PowerShell.Common.SetCredentialsCmdlet
在对此进行调查后发现,我们在处理最新版本(3.1.31.0 之后)中的 .ini 格式文件时存在错误,我现在正在修复该错误。
如果您没有使用这些版本之一(我认为您不是基于这些版本中已修复的消息),请尝试将凭证文件的完整路径提供给 -ProfilesLocation -就 PowerShell 而言,'current path' 可能不是您认为的那样,当 cmdlet 运行s(我已经 运行试图从我的个人资料访问)。
我会在解决问题后进一步更新。
我认为如果你完全限定路径它应该工作......相对路径是邪恶的。
例如使用:
设置-AWSCredentials -ProfilesLocation c:\Path\to\file\myAWSCredentials.ini
您可以按照 Powershell 用户指南轻松存储凭据
Set-AWSCredentials -AccessKey xxxxxxx44Hxxxxxxx -SecretKey WVBUyB5ylBWtpxxxxxxxxxxxxxxxxxxxxxxxxxxx -StoreAs awskeys
我正在处理无人值守的 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 : Error loading stored credentials, (profile location = '.\myAWSCredentials.ini'). Error: App.config does not contain credentials information. Either add the AWSAccessKey and AWSSecretKey or AWSProfileName. At line:1 char:1 + Set-AWSCredentials -ProfilesLocation .\myAWSCredentials.ini + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Set-AWSCredentials], ArgumentException + FullyQualifiedErrorId : System.ArgumentException,Amazon.PowerShell.Common.SetCredentialsCmdlet
在对此进行调查后发现,我们在处理最新版本(3.1.31.0 之后)中的 .ini 格式文件时存在错误,我现在正在修复该错误。
如果您没有使用这些版本之一(我认为您不是基于这些版本中已修复的消息),请尝试将凭证文件的完整路径提供给 -ProfilesLocation -就 PowerShell 而言,'current path' 可能不是您认为的那样,当 cmdlet 运行s(我已经 运行试图从我的个人资料访问)。
我会在解决问题后进一步更新。
我认为如果你完全限定路径它应该工作......相对路径是邪恶的。
例如使用: 设置-AWSCredentials -ProfilesLocation c:\Path\to\file\myAWSCredentials.ini
您可以按照 Powershell 用户指南轻松存储凭据
Set-AWSCredentials -AccessKey xxxxxxx44Hxxxxxxx -SecretKey WVBUyB5ylBWtpxxxxxxxxxxxxxxxxxxxxxxxxxxx -StoreAs awskeys