【问题标题】:Azure Powershell - across MULTIPLE subscriptions in an EAAzure Powershell - 跨 EA 中的多个订阅
【发布时间】:2019-05-05 06:46:20
【问题描述】:

我对 EA 中的数百个订阅拥有“计费阅读器”访问权限。

我正在尝试获取所有订阅的虚拟机列表及其大小。

所以目前当我运行“Get-AzureRMSubscription”时,它会显示所有订阅(数百个),但我不确定如何针对所有订阅实际运行脚本?

如果能在它们之间获得一个“Get-AzureRMVM”会很棒

有什么建议吗? 提前致谢!

【问题讨论】:

    标签: azure powershell enterprise


    【解决方案1】:

    你可以这样做:

    $azureSubs = Get-AzureRMSubscription
    $azureSubs | ForEach-Object {Select-AzureRMSubscription $_ | Out-Null; Get-AzureRMVM -WarningAction SilentlyContinue}
    

    您实际上是在设置一个数组变量来保存您的所有 Azure 订阅并将其传送到 ForEach-Object cmdlet 以迭代数组中的所有对象。然后将其通过管道传送到 Get-AzureRMVM cmdlet 以列出每个订阅中的所有 VM。

    这绝对没有针对性能进行优化,并且可能有更好的解决方案,但至少您可以运行它并忘记它。

    Out-Null 和 -WarningAction 的原因是为了抑制不需要的输出。

    【讨论】:

      【解决方案2】:

      您没有问,但对于经典资源,我们定期运行以下脚本并将其输出存储在 SQL 数据库中。

      $subscriptions = Get-AzureSubscription
      foreach ($sub in $subscriptions)
      {
          $sub | Select-AzureSubscription
          Get-AzureService | % {
                 Get-AzureDeployment -ServiceName $_.ServiceName 
              } | % { 
                New-Object -TypeName 'PSObject' -Property @{ 'ServiceName' = $_.ServiceName; 'Addresses' = $_.VirtualIPs.Address; } 
              } | sort Addresses | ft
      }
      

      %ForEach-ObjectftFormat-Table 尽管可能会有一些好心人尝试编辑它并使其更难重用。您可以在 select 语句中添加/删除属性以根据需要定制输出。在一个订阅中试用以优化您的需求,然后创建一个脚本以使其易于重复使用。

      【讨论】:

        【解决方案3】:

        我们最近发布了 Azure Resource Graph,以支持跨多个订阅的这些类型的搜索。在此处查看文档https://docs.microsoft.com/en-us/azure/governance/resource-graph/overview

        【讨论】:

        • 看来您仍然需要提供要搜索的订阅列表。如果列表是可选的并且默认行为将是搜索所有订阅会更好,与Azure 门户。
        【解决方案4】:

        我有一个用于循环订阅和收集 VM 数据的脚本

        https://it4it.solutions/2021/09/07/looping-through-azure-subscriptions-with-powershell/

        作为一个示例负载,它清点 Azure VM(名称、resourceGroup、sku、运行状态)

        要在租户中的所有订阅上运行它 - 您需要像这样运行它:

        .\azureSubscriptionLoop.ps1 -tenantID_Param "tenant_ID_here"

        【讨论】:

        • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多