それは、Windows 11であり、Windows 10でもある――WSUSで見つかったWindowsの混乱とは?その知識、ホントに正しい? Windowsにまつわる都市伝説(210)

2015年に“最後のWindows”として登場したWindows 10。しかし、6年後の2021年6月には“Windows 11”が発表され、10月に正式リリースとなりました。“最後の”とは何だったのか、うそだったのか……。この点はいろいろと議論があるところですが、少なくともWSUSは、ある視点で見れば、Windows 10とWindows 11を別製品としては区別していないようです。

» 2022年05月19日 05時00分 公開
[山市良テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windowsにまつわる都市伝説」のインデックス

Windowsにまつわる都市伝説

Windows 11のレジストリに残るWindows 10の製品情報

 「Windows 11」は発表前、「Windows 10」の近い将来のリリース向けに開発されていたビルドである「CO_RELEASE」(COは「コバルト」に由来)が、簡単に言ってしまえば「Windows 11」というマーケティング戦略上の新しい名前でリリースされた製品です。デスクトップの見た目や操作性は大きく変わりましたが、OSのコアの部分はそれまでの64bit(x64)版Windows 10から劇的に変化しているわけではありません。

 Windowsの製品情報やバージョン情報は、「設定」アプリ、「Windowsのバージョン情報」アプレット、「システム情報」ツール(msinfo32.exe)など、幾つかのGUIで確認できます。コマンドラインからは、「Systeminfo.exe」コマンドや「WMIC」コマンド、「Get-ComputerInfo」コマンドレットなどを利用して確認できます。

 Windows 10からWindows 11への名称変更が突然だったからなのか分かりませんが、一部のツールはいまだに製品名として「Windows 10」を出力します。

 例えば、Windows 11のWMICコマンド(WMIC OS Get Caption)は「Microsoft Windows 11 Pro」を出力しますが(WMICは非推奨になりました。代わりにPowerShellの「CimCmdlets」コマンドレットの使用が推奨されています)、Get-ComputerInfoコマンドレットが返す情報の中には「Windows 10 Pro」も含まれています。Windows 11でGet-ComputerInfoコマンドレットで情報を取得する場合は、「WindowsProductName」ではなく、「OsName」を参照する必要があります(画面1)。

Windows 10およびWindows Server 2016/2019まで

Get-ComputerInfo | Select WindowsProductName,WindowsVersion, OsBuildNumber


Windows 11およびWindows Server 2022から

Get-ComputerInfo | Select OsName, OsDisplayVersion, OsBuildNumber


画面1 画面1 Windows 11では、Get-CompuerInfoコマンドレットの出力の一部に、実際の製品名やバージョンとは異なる情報を返すものがある

 Get-ComputerInfoコマンドレットの「WindowsProductName」と「WindowsVersion」は、それぞれ「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion」レジストリキーの「ProductName」と「ReleaseId」に対応していました。

 Windows 10は、Windows 10 バージョン2004まではビルドリリース時の2桁の年と2桁の月からなる「YYMM」をバージョン表記に使用していましたが、Windows 10 バージョン20H2から春のリリースを「YYH1」、秋のリリースを「YYH2」に変更しました。「RereaseId」値はバージョン20H2のときの「2009」以降、放置されており、変更されていません。Windows 10 バージョン21H1、バージョン21H2、Windows 11 バージョン21H2、「Windows Server 2022」の「ReleaseId」値は全て「2009」です。

 Windows 10までGet-CompuerInfoコマンドレットは「YYH1」「YYH2」形式のバージョン情報には対応しておらず(WMICコマンドも同様に非対応)、これらの情報をコマンドラインから得るには、レジストリに新たに追加された「DisplayVersion」値を直接参照する必要がありました(画面2)。

画面2 画面2 Windows 10 バージョン2004以降、「WindowsVersion」(「ReleaseId」レジストリ値)は「2009」のまま放置されている。「YYH1」「YYH2」形式に対応した情報をコマンドラインで取得するには、「DisplayVersion」レジストリ値を直接参照する必要があった

 Windows 11とWindows Server 2022からは、レジストリの「DisplayVersion」値に対応する「OsDisplayVersion」が、Get-ComputerInfoコマンドレットの出力に追加されたわけです。

Copyright © ITmedia, Inc. All Rights Reserved.

「Windows 7」サポート終了 対策ナビ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。