連載
» 2017年07月18日 05時00分 公開

その知識、ホントに正しい? Windowsにまつわる都市伝説(87):増殖するOperatingSystemSKU(その1)――WMIクエリの謎解き (2/2)

[山市良,テクニカルライター]
前のページへ 1|2       

謎を解く鍵は、クライアントOSのOperatingSystemSKU値の一覧

 2つ目のクエリを複雑にしているのは、条件に含まれるOperatingSystemSKUの値が多いことです。SKU番号はWindowsに新しいエディションが追加されると増えるため、エディションを正しく判断するには、Windowsのバージョン番号とSKU番号を組み合わせる必要があるのです。

 先ほど紹介した「Win32_OperatingSystem class」のドキュメントは、Windowsの全エディションをカバーしていません。より幅広いエディションをカバーしているドキュメントが以下にあります。ただし、SKU番号が16進数になっていることも含め、分かりにくい一覧ですし、Windows 8/8.1以前のSKU番号が一部含まれていません(以前はありましたが、Windows 10追加時に削除されました)。

 Windows 7以降のSKU番号を分かりやすく一覧にすると、以下の表のようになります。存在する全てのエディションをカバーしているわけではありませんが、DirectAccessのWMIクエリの謎解きには十分だと思います。なお、Enterprise Nは「Windows Media Player」が削除されているエディションで、日本市場では提供されません。Enterprise EおよびUltimate Eエディションの詳細は不明です。このエディションは、実際には提供されなかったようです。

●Windows 7(内部バージョン6.1.*)
SKU番号 エディション
1 Ultimate
3 Home Premium
4 Enterprise(90日評価版も同じSKU番号)            
27 Enterprise N
28 Ultimate N
48 Professional
65 Embedded Standard(Windows Thin PCを含む)
70 Enterprise E
71 Ultimate E

●Windows 8(内部バージョン6.2.*)/8.1(内部バージョン6.3.*)
SKU番号 エディション
4 Enterprise
27 Enterprise N
48 Pro
72 Enterprise Evaluation(90日評価版)                
84 Enterprise N Evaluation(90日評価版)               
103 Pro with Media Center

●Windows 10(内部バージョン10.0.x)
SKU番号 エディション
4 Enterprise
27 Enterprise N
48 Pro
72 Enterprise Evaluation(90日評価版)
84 Enterprise N Evaluation(90日評価版)
104 Mobile
121 Education(バージョン1607以降のPro Educationについては未確認)
123 IoT Core

 この一覧を使ってクエリを解読すると、次のようになります。2つのクエリの結果が「真」の場合に、このWMIフィルターが設定されたGPOがコンピュータに適用されるということになります。

●1つ目のクエリ

システムタイプがモバイルである

かつ

●2つ目のクエリ

サーバである」または「Windows 8/8.1またはWindows 10のEnterpriseまたはEnterprise NまたはEnterprise評価版またはEnterprise N評価版である」または「Windows 7のEnterpriseまたはEnterprise NまたはEnterprise EまたはUltimateまたはUltimate NまたはUltimate Eである


Windows Server 2012 R2のWMIフィルターには問題があった

 ちなみに、Windows Server 2012のDirectAccessのWMIフィルターは、以下のようになっています(リスト3)。ぜひ解読してみてください。Windows Server 2012 R2のDirectAccessのWMIフィルターも同じです。

Select * from Win32_ComputerSystem WHERE PCSystemType = 2
Select * from Win32_OperatingSystem WHERE (ProductType = 3) OR (Version LIKE '6.2%' AND (OperatingSystemSKU = 4 OR OperatingSystemSKU = 27 OR OperatingSystemSKU = 72 OR OperatingSystemSKU = 84)) OR (Version LIKE '6.1%' AND (OperatingSystemSKU = 4 OR OperatingSystemSKU = 27 OR OperatingSystemSKU = 70 OR OperatingSystemSKU = 1 OR OperatingSystemSKU = 28 OR OperatingSystemSKU = 71))
リスト3 Windows Server 2012/2012 R2のDirectAccessのWMIフィルター

 解読するとすぐに分かると思いますが、このWMIフィルターではWindows Server 2012 R2と同世代のWindows 8.1(バージョン6.3)が除外されてしまいます(画面4)。つまり、Windows Server 2012 R2とWindows 8.1 Enterpriseの環境でDirectAccessをセットアップした場合、「モバイルコンピューターに対してのみDirectAccessを有効にする」オプションを使うと、“DirectAccessクライアントとしてセットアップされない”というトラブルに巻き込まれることになります。

画面4 画面4 Windows Server 2012 R2のクエリ(miquery3)でテストすると、Windows 8.1 Enterpriseは除外されてしまう

 これは、Windows Server 2012 R2の製品のバグ(クエリの修正し忘れ)だと思います。問題を回避するには、クエリを修正してもよいのですが、「モバイルコンピューターに対してのみDirectAccessを有効にする」オプションを使わずに、ドメインのセキュリティグループを使用してGPOの適用先を割り当てる方が簡単です。

Windows Server 2016で問題は解消されたように見えるけど、実は……

 Windows Server 2016のDirectAccessでは、Windows 8.1 Enterpriseが除外されてしまう問題はクエリの「Version LIKE '6.[2-3]%'」の部分で修正されました。また、Windows 10 Enterpriseへの対応もクエリの「Version LIKE '[1-9][0-9].%'」で修正されました。これで万全のように見えますが、実はそうではありません。

 Windows 10 Enterprise LTSB(SKU番号125)とWindows 10 Education(SKU番号121)は、Windows 10 Enterpriseがベースなので、DirectAccessをサポートしているはずです。しかし、Windows Server 2016のDirectAccessの既定のWMIフィルターでは、これらのエディションは除外されてしまうのです(画面5)。DirectAccessでこれらのエディションをサポートする必要がある場合は、この点に留意する必要があります。

画面5 画面5 Windows 10 Enterprise LTSBは、2つ目のクエリで除外されてしまい、DirectAccessクライアントの設定のGPOの適用対象にならない

 次回は、Windows ServerのOperatingSystemSKUの謎解きをする予定です。

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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