有谁知道如何使用AWS Powershell获取AWS账号?看起来没有可用的API。
答案 0 :(得分:11)
不直接。但是,您的帐户ID是您创建的Arn资源的一部分......以及为您自动创建的资源。一些资源也会将您列为OwnerId。
在每个地区自动为您创建Default Security Group,无法删除。这使其成为检索我们的帐户ID的可靠候选人。
示例:
PS C:/> $accountId = @(get-ec2securitygroup -GroupNames "default")[0].OwnerId
PS C:/> $accountId
000011112222
答案 1 :(得分:1)
我无法对其他提供的答案发表评论,所以我不得不提供我自己的解决方案作为一个小小的修改。
我相信所有群组的OwnerId都是帐户ID。但是,您可能没有"默认"组。我建议省略-GroupNames"默认"。另外,我使用SAML令牌显示我的示例,因为我们的情况是使用AD授权。
$awsAccountNumber = (get-ec2securitygroup -ProfileName saml -Region us-west-2)[0].OwnerId
希望这会有所帮助。
答案 2 :(得分:0)
我使用Get-STSCallerIdentity。
这是我使用的代码片段:
foreach ($ProfileName in $Profiles){
if ($ProfileName -match 'gov') {
Initialize-AWSDefaultConfiguration -ProfileName $ProfileName -Region us-gov-east-1
$STSCallerIdentity = Get-STSCallerIdentity
}
else {
Initialize-AWSDefaultConfiguration -ProfileName $ProfileName -Region us-east-1
$STSCallerIdentity = Get-STSCallerIdentity
}
答案 3 :(得分:0)
又好又简单
(Get-STSCallerIdentity).Account