デスクトップとノートPCでグループポリシー設定を変える方法

 

グループポリシー設定(GPO設定)を考えるとき、
デスクトップPCとノートPCで別々の設定を与えたい場合があります。
(たとえば、「ドメインコントローラが利用できないとき場合に使用する、前回ログオン時のキャッシュ数」項目は
デスクトップとノートでベストプラクティスが異なりますよね)

その場合、デスクトップPCとノートPCで、別々のOUを作成して分類し、
それぞれのOUに別々のGPOを割り当てるという方法がありますが、面倒くさいです。
(だいいち、コンピュータアカウントを見てデスクトップPCか、ノートPCか、見分けることができない!)

そのときには、WMIフィルタを使うという方法を考えてみたのですが、いかがでしょう?

Hey, Scripting Guy!のコラム「コンピュータがラップトップかデスクトップかを確認する方法はありますか」を
見て思いつきました。

WMIフィルタは、WMIクエリの結果に基づいてGPOの適用・不適用を決定する機能ですが、
この機能に上記のコラムで紹介されているWMIクエリを入れてしまうのです。
例えば、ノートPCの場合だったら、ChassisTypes値が(たぶん)8、9,10,11のいずれかになるでしょうから、
このようなクエリを書くとよいでしょう。

Select * From Win32_SystemEnclosure Where ChassisTypes >= 8 and ChassisTypes <=11

上記のコラムでも紹介されていますが、デスクトップPCの場合は(たぶん)3,4,5,6,7のいずれかになります。
たぶんという言葉を使ったのは、デスクトップPCでも色々な種類があるからです。
たとえば、タワー型(ChassisTypes値:7)とか、ミニタワー型(ChassisTypes値:6)はどちらもデスクトップPCになるでしょうし、
ピザボックス型(ChassisTypes値:5)なんていうPCを使っている会社もあるかもしれません。
なので、あらかじめ社内で使われているPCのタイプを次のコマンドを実行して調べて、

wmic path Win32_SystemEnclosure Get ChassisTypes

その結果に基づいてWMIクエリを作成するのが確実かもしれないですね。
と考えると、この方法は果たして簡単な方法なのだろうか?とちょっと考えてしまいますね。

いかがでしょう?