Microsoft Azure — изменение размера виртуальной машины с помощью скрипта PowerShell
Опубликовано: 7 Сентября, 2022
В этой статье мы рассмотрим процесс мгновенного изменения размера виртуальных машин Azure с помощью сценария автоматизации Azure PowerShell на портале Azure с помощью облачной оболочки.
Преимущества использования методического подхода:
- Изменение размера нескольких виртуальных машин одновременно в подписке на выбор
- Экономит время Пользователя
- Упрощение действий за счет автоматизации процесса
- Повторно используемый скрипт
Реализация:
Шаг 1. Войдите на портал Azure.
Шаг 2. Откройте Cloud Shell и выберите PowerShell

Шаг 3: Создайте папку с именем «Автоматизация».
mkdir Automation
Шаг 4: Изменить каталог
cd ./Automation/
Шаг 5: Создайте файл «test-resize.ps1»
touch test-resize.ps1
Шаг 6. Сценарий Azure PowerShell
- Измените следующие две строки в приведенном ниже коде:
- Номер строки 3 >> $VMsList = @("TestVM", "TestVM2″",TestVM3",…) # Предоставьте свой список виртуальных машин, размер которого необходимо изменить.
- Номер строки 4 >> $NewAzureSize = «Standard_B2s» # Укажите новый размер виртуальной машины Azure.
- Затем вставьте код в файл test-resize.ps1 , сохраните и закройте.
$AzVMs = Get-AzureRmVM | Select-Object -Property Name, ResourceGroupName, Location, Type, ProvisioningState
$VMsList = @("TestVM", "TestVM2", "TestVM3") #Provide your VM List that need to be Resized
$NewAzureSize = "Standard_B2s" #Provide your New Azure VM Size
foreach ($VM in $AzVMs)
{
$VMName = $VM.Name
$ResourceGroupName = $VM.ResourceGroupName
$Type = $VM.Type
$Location = $VM.Location
$ProvisioningState = $VM.ProvisioningState
if ($VMsList -contains $VMName)
{
Write-Host "--------------------------------------------------------------------"
Write-Host "Virtual Machine: $VMName"
Write-Host "ResourceGroup : $ResourceGroupName"
Write-Host "Location : $Location"
Write-Host "ResourceType : $Type"
Write-Host "ProvisioningState : $ProvisioningState"
Write-Host "--------------------------------------------------------------------"
Write-Host "Deallocating $VMName VM."
Stop-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName -Force
Write-Host "$VMName VM Stopped."
Write-Host "--------------------------------------------------------------------"
Write-Host "Updating $VMName VMSize."
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -VMName $VMName
$vm.HardwareProfile.VmSize = $AzureSize
Update-AzVM -VM $vm -ResourceGroupName $ResourceGroupName
Write-Host "Successfully resized $VMName VM to size $NewAzureSize."
Write-Host "--------------------------------------------------------------------"
Write-Host "Starting $VMName VM"
Start-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName
Write-Host "$VMName VM Started."
Write-Host "--------------------------------------------------------------------"
}
} Шаг 7: Теперь пришло время запустить код. Используйте следующий синтаксис для выполнения сценария Azure PowerShell для изменения размера.
./test-resize.ps1
Шаг 8. Вывод для всех перечисленных ВМ в Script выглядит следующим образом. Вот и все.

На данный момент нам удалось изменить размер нашей виртуальной машины Azure с помощью сценария Powershell.