如何使用Powershell获取Azure虚拟机规模集实例的列表

时间:2019-11-22 16:57:40

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

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

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

$ azureSubs = Get-AzSubscription -TenantID xxxxxxxxxxxxxxxxx

$ azureSubs | ForEach-Object {Select-AzSubscription $ _ |空无; Get-AzVMss -WarningAction SilentlyContinue} | Export-Csv-路径“ c:\ Azure \ VirtualMachinesScaleSet.csv” -NoTypeInformation

任何人都可以提出任何帮助的建议。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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" 

enter image description here

更新

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

$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 :(得分:0)

您可以使用Get-AzVmss(利用Az库)获取标尺设置信息。

PS Get-AzVmss