今回は、以前連載をさせていただいていた「Windows Server 2012で始めるActive Directory」の第10回「グループポリシーの効果的な活用」から抜粋・加筆修正し、 WMIフィルターの効果的な活用方法 について紹介します。
■ ■ ■
WMIフィルターの効果的な活用方法 :WMIフィルターとは
GPOの設定が完了したら、続いてGPOを適用する対象を決定する。GPOは基本的にOUまたはドメインにリンクすることで適用する対象が決定する。ドメインにリンクすれば、ドメイン内のユーザーまたはコンピューターが対象になるし、OUにリンクすれば、OU内のユーザーまたはコンピューターが対象になるといった具合だ(画面3)。
画面3●ドメインにGPOをリンクしている様子
しかし、実際の運用の場面では、ドメインやOUの括りではない範囲で適用する場合があるだろう。たとえば、ノートPCとデスクトップPCで適用する内容を変更したい場合などが考えられる。そのときには、WMIフィルターを利用することをお勧めする。
WMIフィルターはWMIと呼ばれる、主にハードウェアに関連する情報にアクセスするための機能(インターフェイス)にアクセスし、管理者が定義した条件に一致したユーザー/コンピューターだけにGPOを適用するというものである。WMIフィルターを設定するときは、あらかじめ[グループポリシーの管理]ツールの[WMIフィルター]から条件を設定しておく(画面4)。
画面4●WMIフィルターの設定
WMIフィルターは条件として「Select * From <WMIクラス> Where <条件>」のように記述する。たとえば、日本のタイムゾーンを使用しているコンピューターだけにGPOを適用したい場合なら、
Select * From Win32_TimeZone Where Bias = 540
と記述する。
このとき、問題になるのは自分の設定したい項目をどうやって探せばよいか?ということである。WMIは「WMIクラス」と呼ばれるジャンルと、プロパティと呼ばれる項目から構成されている。まず、WMIクラスとしてどのようなものがあるか調べるときは、Windows PowerShellから「Get-WmiObject -list」というコマンドレットを実行する。すると、WMIクラスの一覧が表示されるので、その中から自分が求めているであろうWMIクラスの名前を探す。
続いて、使用するWMIクラスの中にあるプロパティを探すときは、同じくWindows PowerShellから「Get-WmiObject -Class <クラス名>」というコマンドレットを実行する。すると、利用可能なプロパティが表示される。たとえば、画面5のようにWin32_TimeZoneクラスで利用可能なプロパティを表示すると、タイムゾーンはBiasというプロパティであらわされることが確認でき、また値が540だと日本のタイムゾーンを表していることがわかる。
画面5●Get-WmiObject -Class Win32_TimeZoneコマンドレットを実行した様子
こうして出来上がったWMIフィルターはリンクしたGPOの[WMIフィルター処理]で設定すれば完了だ(画面6)。
画面6●WMIフィルターをGPOに設定した様子
参考までに、よく使われることが予想されるWMIフィルターをいくつか紹介しよう。
-デスクトップPCだけにGPOを適用
Select * From Win32_SystemEnclosure Where ChassisTypes >= 3 and ChassisTypes <=7
(ChassisTypesが3,4,5,6,7の場合はデスクトップPC)
-仮想マシンだけにGPOを適用
Select * From Win32_NetworkAdapter Where ServiceName = “netvsc”