Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于检索AWS帐号的AWS Powershell_Powershell_Amazon Web Services_Aws Powershell - Fatal编程技术网

用于检索AWS帐号的AWS Powershell

用于检索AWS帐号的AWS Powershell,powershell,amazon-web-services,aws-powershell,Powershell,Amazon Web Services,Aws Powershell,有人知道如何使用AWS Powershell获取AWS帐号吗?看起来没有API可用于此目的。不是直接的。但是,您的帐户ID是您创建的资源的一部分。。。以及那些自动为您创建的。一些资源还将您列为所有者ID 将在每个区域中自动为您创建,并且无法删除。这使它成为检索帐户Id的可靠候选 例如: PS C:/> $accountId = @(get-ec2securitygroup -GroupNames "default")[0].OwnerId PS C:/> $accountId 00

有人知道如何使用AWS Powershell获取AWS帐号吗?看起来没有API可用于此目的。

不是直接的。但是,您的帐户ID是您创建的资源的一部分。。。以及那些自动为您创建的。一些资源还将您列为所有者ID

将在每个区域中自动为您创建,并且无法删除。这使它成为检索帐户Id的可靠候选

例如:

PS C:/> $accountId = @(get-ec2securitygroup -GroupNames "default")[0].OwnerId

PS C:/> $accountId
000011112222

我无法对提供的另一个答案发表评论,因此我必须提供我自己的解决方案,作为一个轻微的修改

我相信所有组的所有者Id都将是帐户Id。但是您可能没有“默认”组。我建议省略-GroupNames“default”。另外,我正在展示使用SAML令牌的示例,因为这是我们使用AD授权的案例

$awsAccountNumber = (get-ec2securitygroup -ProfileName saml -Region us-west-2)[0].OwnerId

希望这会有所帮助。

我使用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
    }
又好又简单

(Get-STSCallerIdentity).Account

以上回答很好,谢谢。我注意到您可以获得帐户别名,在我的情况下,这正是我所需要的。要做到这一点,请使用Get-IamAccountAliasIMHO,这是一个更好的答案。