[英]Get Azure VM Detail by PowerShell
我正在尝试运行Get-AzureVM
PowerShell命令,它运行正常,但不返回任何输出。
还尝试了以下风味,但仍然空白结果任何想法?
Get-AzureVM -Name "vmname" |Select-Object name,instancesize,location
您应该首先调用Select-AzureSubscription "subscription name"
。
它可能默认为没有任何虚拟机的订阅。
要查看您当前的订阅名称,请致电:
Get-AzureSubscription | select SubscriptionName
实际上上面的答案只是半正确的。
这让我把我的虚拟头发拉出来试图做自动化(需要7个小时的手工捏造才能开始工作!)。
简而言之,Azure中有两种类型的虚拟机; 经典和资源管理器。
如果您使用Switch-AzureMode -name AzureServiceManagement
则使用Get-AzureVM
您将列出您创建的所有经典VM。
如果您使用Switch-AzureMode -name AzureResourceManager
然后使用Get-AzureVM
您将列出您创建的所有资源管理器(或新)VM。
请记住,如果您正在尝试自动化,那么您需要通过门户网站提供的新模式下的VM,您通过管理创建的旧VM(经典)在此模式下无法访问,您必须重新创建它们。
Azure有两种类型的管理系统:AzureServiceManagement(ASM)和AzureResourceManager(ARM)
为了控制这两种不同类型的管理系统,您应该按照Azure Powershell Github项目页面主页中的描述进行切换,但对于低于1.0.0的azure powershell版本 ,这是正确的,您可以找到更多解释在这里
对于那些有兴趣使用powershell版本greter而不是1.0.0来控制ARM(AzureResourceManager)的人,他们应该使用具有以下格式的所有Cmdlet: [Verb]-AzureRm[Noun]
,例如New-AzureVm
变为New-AzureRmVm
,在我们的例子中, Get-AzureVM
成为了Get-AzureRmVm
综上所述:
Get-AzureVM
, 这在我和很多其他人看来都很混乱 Get-AzureVM
for ASM和Get-AzureRmVm
for ARM。 我知道这个问题已得到解答,但我尝试了答案,但这对我没有用。 我发现,我需要切换我的AzureMode。
为了解决这个问题,我运行了以下powershell脚本。
Switch-AzureMode -Name AzureResourceManager
如果您的脚本使用较旧的功能以及新的Azure Resource Manager cmdlet,则在AzureServiceManagement和AzureResourceManger之间切换Azure Powershell模式是一种可能的解决方案。 仅适用于Microsoft Azure Powershell 0.9.8或更早版本的交换机。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.