JavaScriptを有効にしてください

VM のバージョンを指定してデプロイし隊

 ·   2 分で読めます  ·   Kento

今回は Azure VM で過去のバージョンの VM イメージを指定してデプロイしてみました

前提

Azure VM をデプロイするときはイメージを指定する必要があります
Azure の Marketplace で提供されているイメージは定期的に最新のパッチが適用されています

過去のバージョンの探し方

デプロイしたいイメージを探します

パブリッシャーの特定

使いたい VM イメージを提供しているパブリッシャーを特定します

Get-AzVMImagePublisher -Location japaneast | Select PublisherName

Windows Server だと “MicrosoftWindowsServer” で、Windows クライアントだと “MicrosoftWindowsDesktop” になります今回は Windows 10 をでデプロイしたいので “MicrosoftWindowsDesktop” を選択します

オファーの特定

次にオファーを特定しますWindows クライアントの場合は “Windows 10” や “Windows 11” などがオファーになります

Get-AzVMImageOffer -Location japaneast -PublisherName MicrosoftWindowsDesktop | Select Offer

今回は “Windows-10” を選択します

SKU の特定

SKU を特定します
“Pro の 20H2” とか、“Enterprise の 21H2” が SKU に該当します

Get-AzVMImageSku -Location japaneast -PublisherName MicrosoftWindowsDesktop -Offer Windows-10 | Select Skus

今回は “win10-21h2-pro“を選択しました

バージョンの特定

ようやくバージョンを特定します

Get-AzVMImage -Location japaneast -PublisherName MicrosoftWindowsDesktop -Offer Windows-10 -Sku win10-21h2-pro | Select version

今回は実際にデプロイできているかを確認するために “19044.1889.220805” (8月パッチ適用) と “19044.2006.220909” (9月パッチ適用) を試してみます

指定したバージョンの VM を立てる

ユーザー名やパスワード、VM 名や NIC 名は適宜変更してください

$UserName = "username"
$Password = ConvertTo-SecureString "password" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($UserName, $Password)
$Vnet = $(Get-AzVirtualNetwork -ResourceGroupName ResourceGroupName -Name VnetName)
$PIP = (Get-AzPublicIpAddress -ResourceGroupName ResourceGroupName -Name PIPName)
$NIC = New-AzNetworkInterface -Name NICname -ResourceGroupName ResourceGroupName -Location japaneast -SubnetId $Vnet.Subnets[0].Id -PublicIpAddressId $PIP.Id
$VirtualMachine = New-AzVMConfig -VMName VirtualMachineName -VMSize Standard_D4s_v3
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName computerName -Credential $psCred -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsDesktop' -Offer 'Windows-10' -Skus 'win10-21h2-pro' -Version '19044.2006.220909'
New-AzVM -ResourceGroupName ResourceGroupName -Location japaneast -VM $VirtualMachine

19044.1889.220805 を指定してデプロイしたものはこちらで

pic01
19044.1889.220805:

19044.2006.220909 を指定してデプロイしたものはこちらです

pic02
19044.2006.220909:

実際に異なるバージョンのイメージでデプロイできています

余談

Windows 10 に2022年 9月の更新プログラムを適用すると OS の言語設定が PowerShell でできるようになります

それを確認したかったので今回バージョンを指定してデプロイを試してみました

共有

Kento
著者
Kento
2020年に新卒で IT 企業に入社. インフラエンジニア(主にクラウド)として活動中