Resize an Azure Virtual Machine in an Availability Set Using PowerShell

Using Cloud Shell PowerShell to do you identify the VMs with low CPU utilization and change their size Over Cost Virtual Machine (VM).

Log in to the Azure portal using the credentials provided on the lab page.

  • Start Cloud Shell
  • Click the Cloud Shell icon (>_) in the upper right.
  • Select PowerShell.
  • Click Show advanced settings.
  • For Storage account, select Create new and give it a globally unique name (e.g., “nkcodecloudshell” with a series of numbers at the end).
  • For File share, select Create new and give it a name of “fileshare”.
  • Click Create storage.

Get the VM Size and CPU Metrics

Find the current size of the VMs:

Get-AzVM

Get the VM subscription name:

Get-AzSubscription

Check VM CPU metrics, replacing <ID> with the VM subscription name and <RESOURCE_GROUP_NAME> with the group name you just copied:

az monitor metrics list –resource /subscriptions/<ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.Compute/virtualMachines/labVM0

Resize VMs in the Availability Set

Assign the value to the $vm variable:

$vm = Get-AzVM -ResourceGroupName <RESOURCE_GROUP_NAME> -VMName labVM0

Perform the PowerShell commands to resize the VM(s):

$vm.HardwareProfile.VmSize = “Standard_B1s”

Update-AzVM -VM $vm -ResourceGroupName <RESOURCE_GROUP_NAME>

To view results of the change, enter Get-AzVM. We should see VMSize for labVM0 changed to Standard_B1s.