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エディションの詳細は不明です。このエディションは、実際には提供されなかったようです。
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 |
SKU番号 | エディション |
---|---|
4 | Enterprise |
27 | Enterprise N |
48 | Pro |
72 | Enterprise Evaluation(90日評価版) |
84 | Enterprise N Evaluation(90日評価版) |
103 | Pro with Media Center |
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がコンピュータに適用されるということになります。
システムタイプがモバイルである
かつ
「サーバである」または「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の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))
解読するとすぐに分かると思いますが、このWMIフィルターではWindows Server 2012 R2と同世代のWindows 8.1(バージョン6.3)が除外されてしまいます(画面4)。つまり、Windows Server 2012 R2とWindows 8.1 Enterpriseの環境でDirectAccessをセットアップした場合、「モバイルコンピューターに対してのみDirectAccessを有効にする」オプションを使うと、“DirectAccessクライアントとしてセットアップされない”というトラブルに巻き込まれることになります。
これは、Windows Server 2012 R2の製品のバグ(クエリの修正し忘れ)だと思います。問題を回避するには、クエリを修正してもよいのですが、「モバイルコンピューターに対してのみDirectAccessを有効にする」オプションを使わずに、ドメインのセキュリティグループを使用してGPOの適用先を割り当てる方が簡単です。
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でこれらのエディションをサポートする必要がある場合は、この点に留意する必要があります。
次回は、Windows ServerのOperatingSystemSKUの謎解きをする予定です。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.