Microsoft Azure – 使用 PowerShell 脚本调整虚拟机大小
在本文中,我们将研究使用云外壳在 Azure 门户中使用 Azure PowerShell 自动化脚本一次调整 Azure VM 大小的过程。
使用方法方法的优点:
- 为选定订阅一次调整多个 VM 的大小
- 节省用户的时间
- 通过自动化流程简化操作
- 可重用的脚本
执行:
步骤 1:登录 Azure 门户
第 2 步:打开Cloud Shell并选择PowerShell
第 3 步:创建一个名为“自动化”的文件夹
mkdir Automation
第 4 步:更改目录
cd ./Automation/
第 5 步:创建文件“test-resize.ps1”
touch test-resize.ps1
步骤 6: Azure PowerShell 脚本
- 在下面给出的代码中更改以下两行:
- Line Number 3 >> $VMsList = @(“TestVM”, “TestVM2”,”TestVM3”,…) #提供你需要调整大小的VM List
- 第 4 行 >> $NewAzureSize = “Standard_B2s” #提供新的 Azure VM 大小
- 然后,将代码粘贴到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 步:脚本中所有列出的 VM 的输出如下所示。就是这样,你完成了。
至此,我们已经成功地使用 Powershell 脚本调整了 Azure VM 的大小。