2016-08-24 57 views
0

我想使用PowerShell更改Azure VM的大小。原因是:我使用機器進行開發。我需要A2尺寸,每天4小時。當我不開發時,虛擬機的所有者要求將機器的大小切換到A0。我可以使用我的MS Live帳戶訪問Azure訂閱。現在我通過Azure Portal手動更改大小。我想用PowerShell自動執行此任務。該腳本應該將大小設置爲A2,等待4小時並將其設置回A0。我只想在開始我的開發之前雙擊腳本並忘記問題。使用PowerShell和MS Live憑據訪問Azure VM

我有一般程序的理解如下:

  1. 潤進口AzurePublishSettings
  2. 運行SELECT-AzureSubscription
  3. 獲取VM以Get-AzureVM
  4. 運行設置,AzureVMSize
  5. 對象
  6. Update-AzureVM

我無法獲得發佈配置文件,因爲我沒有擁有該機器。有沒有使用MS Live帳戶進行身份驗證的方法?

回答

1

跳過導入Azure發佈並改爲執行Add-AzureAccount。這將彈出用戶界面進行身份驗證與您的MS Live帳戶。

一旦做到這一點,你可以使用Select-AzureSubscription

經典的部署,你需要這樣的:

# authenticate if no account is already added to the powershell session 
if (!(Get-AzureAccount)){ Add-AzureAccount } 

# Get the vm object out of azure 
$vm = get-azurevm | where name -eq "name of the vm" 

# Now all you need is to is update the VM with its new size: 

$vm | Set-AzureVMSize -InstanceSize Medium | Update-AzureVM 

如果VM通過資源管理器(RM模型)部署

if (!(Get-AzureRMContext)){ Add-AzureRmAccount } 
Select-AzureRmSubscription -SubscriptionId "{subscriptionId}" 

$vm = Get-AzureRmVm | where name -eq "{vmName}" 
$vm.HardwareProfile.vmSize = "Medium" 
Update-AzureRmVM -VM $vm 

btw。 Medium是API在API中調用的內容。

+0

你能提供一個代碼示例嗎? –

+0

無論如何,謝謝! –

+0

沒問題,當我今天晚些時候在我的筆記本電腦附近時,我會嘗試並將一些代碼放在一起... – larsro