簡體   English   中英

通過PowerShell獲取Azure VM詳細信息

[英]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.0azure powershell版本 ,這是正確的,您可以找到更多解釋在這里

對於那些有興趣使用powershell版本greter而不是1.0.0來控制ARM(AzureResourceManager)的人,他們應該使用具有以下格式的所有Cmdlet: [Verb]-AzureRm[Noun] ,例如New-AzureVm變為New-AzureRmVm ,在我們的例子中, Get-AzureVM成為了Get-AzureRmVm

綜上所述:

  1. Powershell版本低於1.0.0你應該在模式之間切換並使用Get-AzureVM這在我和很多其他人看來都很混亂
  2. 如果Powershell版本等於或大於1.0.0,則應使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM