【问题标题】:How to get a list of Azure Virtual Machine Scale Set Instances using powershell如何使用 powershell 获取 Azure 虚拟机规模集实例的列表
【发布时间】:2020-03-18 18:51:02
【问题描述】:

我正在尝试使用 powershell 获取订阅的所有规模集中的所有虚拟机实例的列表。

我已经能够使用下面的代码列出所有的 Scaleset,但我想显示每个中的所有虚拟机实例。

$azureSubs = Get-AzSubscription -TenantID xxxxxxxxxxxxxxxxx

$azureSubs | ForEach-Object {Select-AzSubscription $_ |外空; Get-AzVMss -WarningAction SilentlyContinue} | Export-Csv -Path "c:\Azure\VirtualMachinesScaleSet.csv" -NoTypeInformation

任何人都可以提供任何帮助。

【问题讨论】:

    标签: azure powershell virtual-machine instance azure-vm-scale-set


    【解决方案1】:

    您可以使用Get-AzVmssVM 命令,在每个订阅中尝试以下脚本。

    $vmss = Get-AzVmss
    $instances = foreach($item in $vmss){
        Get-AzVmssVM -ResourceGroupName $item.ResourceGroupName -VMScaleSetName $item.Name
    }
    $instances | Export-Csv -Path "C:\Users\joyw\Desktop\ins.csv" 
    

    更新

    对于一个租户中的多个订阅,请尝试以下脚本。

    $subs = Get-AzSubscription -TenantId "<tenant-id>"
    $instances = @()
    foreach($sub in $subs){
        Set-AzContext -SubscriptionId $sub.Id
        $vmss = Get-AzVmss
        foreach($item in $vmss){
            $vms = Get-AzVmssVM -ResourceGroupName $item.ResourceGroupName -VMScaleSetName $item.Name
            $instances += $vms
        }
    }
    $instances | Export-Csv -Path "C:\Users\Administrator\Desktop\ins.csv" 
    

    【讨论】:

    • 感谢您的喜悦...这肯定会获得一个订阅的实例。
    • 您知道需要对代码进行哪些更改才能在租户中获取多个订阅的实例,而无需针对每个订阅运行上述脚本吗?
    【解决方案2】:

    您可以使用Get-AzureRmVM 获取主机名和实例ID:

    PS > Get-AzureRmVM -ResourceGroupName "vmss" -VMScaleSetName "vmss"
    

    【讨论】:

    • 不确定,但你的答案是正确的,我已经投票赞成你删除否定的意见。
    • 这不是我的反对意见,但可能是因为 AzureRm 库已被弃用。
    • @MikeOryszak 是的,谢谢 :) 现在应该有意义了
    • 它被否决了,因为它是错误的 api。我认为他们的意思是 Get-AzureRmVmssVM
    【解决方案3】:

    您可以使用 Get-AzVmss(利用 Az 库)获取规模集信息。

    PS Get-AzVmss 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 2020-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      相关资源
      最近更新 更多