Functions/Public/Resize-AzureRmVm.ps1
function Resize-AzureRmVm { [CmdletBinding()] param ( [Parameter(Mandatory = $true, HelpMessage = 'Please enter the name of the Azure Resource Group where the Virtual Machine lives')] [string] $ResourceGroupName , [Parameter(Mandatory = $true, HelpMessage = 'Please enter the name of the Azure VM in the Resource Group')] [string] $Name , [Parameter(Mandatory = $true, HelpMessage = 'Please specify the Azure VM size you want to configure this VM with')] [ValidateScript({ $VMSizeList = (Get-AzureRmVmSize -Location westus).Name; if ($VMSizeList -contains $_) { return true; } else { return false; } })] [string] $Size ) try { Write-Verbose -Message ('Resizing Microsoft Azure Virtual Machine {0} in Resource Group {1} to size {2}' -f $Name, $ResourceGroupName, $Size); $VM = Get-AzureRmVm -ResourceGroupName $ResourceGroupName -Name $Name; $VM.HardwareProfile.VmSize = $Size; Update-AzureRmVm -ResourceGroupName $ResourceGroupName -VM $VM; } catch { throw 'An error occurred while trying to resize the VM {0}\{1}: {2}' -f $ResourceGroupName, $Name, $PSItem.Exception.Message } } |