製品コラム

セイテクエンジニアのブログ  製品コラム  VM構成バージョンを監視してOSのアップグレードに備える-BOM for Windows活用例

 

 

VM構成バージョンを監視してOSのアップグレードに備える-BOM for Windows活用例

2025年03月26日配信
執筆者:セイ・テクノロジーズ エバンジェリスト

 「BOM for Windows Ver.8.0 SR1」(以下、BOM)の「カスタム監視」を使用すると、BOM標準の監視設定にはない、独自の監視を行えます。BOMは標準でHyper-V用の監視テンプレートを提供していますが、これはHyper-VやHyper-Vレプリカの状態、パフォーマンス、イベントを監視するものです。今回はHyper-Vのプラットフォームであるオペレーティングシステム(OS)のインプレースアップグレードに備えて、仮想マシン(VM)の構成バージョンを監視する方法を紹介します。

 

VMの構成バージョンとは

 

 VMの構成バージョンは、Windows Server 2016において、Windows Server 2012 R2以前の旧型式のVMの構成をサポートするために導入されたものです。Hyper-Vの新機能を利用するためには、VMの構成バージョンをHyper-Vホストの既定(通常、最新)のバージョンにアップグレードする必要があります。しかし、以前のバージョンのHyper-Vに移動やインポートすることを可能にするため、OSをアップグレードしても、VMの構成バージョンが自動的にアップグレードされることはありません。すべてのHyper-Vプラットフォームを最新OSにアップグレードが完了してから、手動で構成バージョンをアップグレードします(画面1)。

Hyper-V の仮想マシンのバージョンをアップグレードする (Windows または Windows Server)|Windows Server(Microsoft Learn)

 

画面1

画面1 すべてのHyper-Vプラットフォームを最新OSに移行して初めて、「Hyper-Vマネージャー」または「Update-VMVersion」コマンドレットを使用して、手動でVMの構成バージョンをアップグレードする

 

 以下に、Windows Serverの各バージョンのHyper-VがサポートするVMの構成バージョンを一覧にしました。Windows 10/11のバージョンやTechnical Previewバージョン、Insider Previewバージョンなどもサポートされますが、詳しくは、「Get-VMHostSupportedVersion」コマンドレットを実行して確認してください。

 

Hyper-Vのバージョン/サポートされる構成バージョン 12.0 10.0 9.0 8.0 5.0
Windows Server 2025 〇(既定) ×
Windows Server 2022 × 〇(既定) ×
Windows Server 2019 × × 〇(既定)
Windows Server 2016 × × × 〇(既定)
Windows Server 2012 R2 × × × × 〇(既定)

 

 構成バージョンのアップグレードは、Hyper-Vの新機能を利用するために必要になることがあります。アップグレード可能な状態にあるにもかかわらず、アップグレードするのを忘れて新機能を利用できないということは避けたいところ。また、Windows Server 2022以降、レガシな構成バージョン「5.0」がサポートされなくなりました。OSを後継バージョンにアップグレードする前に、レガシな構成バージョンが残っている場合は、アップグレードしておくべきでしょう。アップグレードしておかなかった場合、自動的に既定のバージョンにアップグレードされることになり、以前のバージョンのHyper-VへのVMの移動やインポートに影響します。

 

構成バージョンがホストの既定でないVMの数を取得するPowerShellスクリプト

 

 次に示すPowerShellスクリプト「get-vmconfver.ps1」は、Hyper-Vホストの既定の構成バージョンを取得し、その構成バージョンになっていないVMの数を返します。Windows 10/11とWindows Server 2016での実行に対応しており、Hyper-Vが有効になっているかどうかを調べ、有効になっていない場合は「0」を返します(画面2)。

 

画面2

画面2 Hyper-Vホストの既定の構成バージョンではないVMの数を返すスクリプト

[get-vmconfver.ps1](プレーンテキストで表示

If ((Get-CimInstance -ClassName Win32_OperatingSystem).ProductType -eq "1") {
  If ((Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V).State -eq "Disabled") {
    return 0
  }
} else { 
  If (!(Get-WindowsFeature -Name Hyper-V).Installed) {
    return 0
  }
}


$vmversions = Get-VMHostSupportedVersion
foreach ($vmversion in $vmversions) {
  If ($vmversion.IsDefault) {
    $defaultvmver = ($vmversion.Version).Major, ($vmversion.Version).Minor -Join "."
  }
}
$ret = 0
$vmlist = Get-VM
foreach ($vm in $vmlist){
  If ($vm.Version -ne $defaultvmver) {
    $ret++
  }
}
return $ret

 

BOMの「カスタム監視」で定期監視する

 

 BOMに「カスタム監視」を作成し、このPowerShellスクリプトを定期的に実行させることで、Hyper-Vのプラットフォームのアップグレード後に、VMの構成バージョンが古いVMの数を把握することができます(画面3)。アップグレード前の準備、アップグレード後のアップグレードし忘れの回避に役立つでしょう。

 

画面3
画面3 PowerShellスクリプト「get-vmconfver.ps1」を、BOMの「カスタム監視」を用いて定期的に実行して監視する

関連:
カスタム監視でHyper-Vレプリカの監視を強化-BOM for Windows活用例

 

blog_column_subscribe

blog_column_comment

最新記事