AWS Powershell用于检索AWS账号

时间:2015-06-05 00:52:59

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

有谁知道如何使用AWS Powershell获取AWS账号?看起来没有可用的API。

4 个答案:

答案 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