我正在尝试使用 powershell 获取订阅的所有规模集中的所有虚拟机实例的列表。
我已经能够使用下面的代码列出所有规模集,但我想显示每个规模集中的所有虚拟机实例。
$azureSubs = Get-AzSubscription -TenantID xxxxxxxxxxxxxxxxx
$azureSubs | ForEach-Object {选择-AzSubscription $_ |出空; Get-AzVMss -WarningAction 静默继续} | Export-Csv -Path“c:\Azure\VirtualMachinesScaleSet.csv”-NoTypeInformation
任何人都可以提出任何有帮助的建议吗?
最佳答案
您可以使用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"
关于azure - 如何使用 powershell 获取 Azure 虚拟机规模集实例的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58998638/