用于检索AWS帐号的AWS Powershell
有人知道如何使用AWS Powershell获取AWS帐号吗?看起来没有API可用于此目的。不是直接的。但是,您的帐户ID是您创建的资源的一部分。。。以及那些自动为您创建的。一些资源还将您列为所有者ID 将在每个区域中自动为您创建,并且无法删除。这使它成为检索帐户Id的可靠候选 例如:用于检索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
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,这是一个更好的答案。