📜  Microsoft Azure – 使用 PowerShell 脚本调整虚拟机大小

📅  最后修改于: 2022-05-13 01:57:42.397000             🧑  作者: Mango

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 脚本

  • 在下面给出的代码中更改以下两行:
  1. Line Number 3 >> $VMsList = @(“TestVM”, “TestVM2”,”TestVM3”,…) #提供你需要调整大小的VM List
  2. 第 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 的大小。