2013-12-14 85 views
1

我正在使用Azure Powershell cmdlet啓動/停止虛擬機。啓動/停止特定訂購下的所有虛擬機

Start-AzureVM [-ServiceName] <String> [-Name] <String> [ <CommonParameters>] 

Stop-AzureVM [-ServiceName] <String> [-Name] <String> [[-StayProvisioned]] [[-Force]] [ <CommonParameters>] 

是否有命令啓動/停止特定訂閱下的所有虛擬機而不是單個虛擬機?如果不是的話,我正在尋找一個腳本,並行地爲每個虛擬機多次運行代碼。

回答

2

Start-AzureVM和Stop-AzureVM現在支持通配符,允許您在同一服務名稱內並行啓動/並行停止任何/所有虛擬機。在這裏,你可以在行動上,看到這個,我只是一個單一的服務啓動幾臺虛擬機,並行:

Calling Start-AzureVM

Parallel operation, seen in portal

現在:如果您想讓所有的虛擬機在整個訂閱,你總是可以枚舉所有的服務命名空間,然後啓動其中的虛擬機。這就是一個很好的例子 - 調整它,你認爲合適,對特定數據中心等的枚舉服務

例子:

Get-AzureService | Select ServiceName 

現在做的東西,而不是剛剛上市的服務:

Get-AzureService | Foreach-Object { Start-AzureVM -ServiceName $_.ServiceName -Name "*" } 

注:我沒有測試最後一個,因爲我不喜歡開始的所有虛擬機我的,但類似的東西應該爲你工作的散裝「在每一個服務啓動有史以來單個VM在我的訂閱。「

+0

我不得不雜牌更換-VM和使用通配符語法時添加-Force開關。 – Mark13426

+0

糟糕 - 那會教我在沒有測試的情況下發布代碼。 :)編輯的參數名稱。 –

0

非常真實 - 啓動AzureVM和Stop-AzureVM現在支持通配符,允許您在同一服務名稱內並行啓動/並行停止任何/所有虛擬機。

根據問題啓動/停止特定訂閱下的所有虛擬機是不可能的。但是,可以啓動/停止特定服務名稱下的所有虛擬機。

啓動AzureVM -ServiceName「sa12345」 將開始在服務名稱sa12345所有蔚藍的VM

+0

這是否添加了任何新的已知的和被接受的答案?我想不是... – fancyPants

+0

我曾面對同樣的挑戰。所以,我只是給我的意見:) – Atf

相關問題