如何获取Powershell中所有Azure VM的列表

时间:2015-09-30 16:24:54

标签: powershell azure virtual-machine

我试图在Powershell中获取所有Azure VM的列表。

Get-AzureVM

不幸的是,这只返回虚拟机(经典)下列出的虚拟机。

enter image description here

如何获取新虚拟机的列表?

3 个答案:

答案 0 :(得分:5)

根据David的回答,我编写了以下脚本,它结合了两个VM列表:

Switch-AzureMode -Name AzureServiceManagement
#ResourceGroupName will be blank for these
$classicVms = Get-AzureVM | select Name, ServiceName, ResourceGroupName

Switch-AzureMode -Name AzureResourceManager    
#ServiceName will be blank for these
$armVms = Get-AzureVM | select Name, ServiceName, ResourceGroupName 

$allVms = $classicVms + $armVms
$allVms

运行此操作时,您将收到不推荐使用Switch-AzureMode的警告。

WARNING: The Switch-AzureMode cmdlet is deprecated and will be removed in a future release

弃用是突破性变化的一部分。您可以在此处阅读详细信息:Deprecation of Switch-AzureMode

答案 1 :(得分:2)

您需要使用Azure资源管理器模式来访问新VM:

Switch-AzureMode -Name AzureResourceManager

您可以详细了解here

答案 2 :(得分:1)

请注意,Switch-AzureMode现已弃用(https://github.com/Azure/azure-powershell/wiki/Deprecation-of-Switch-AzureMode-in-Azure-PowerShell)。 Cmdlet重命名Azure资源管理模块下的所有cmdlet将重命名为以下格式:[动词] -AzureRm [名词]

示例:New-AzureVm变为New-AzureRmVm