WMIフィルタリングによるグループポリシーの制限
グループポリシー(GPO)のWMIフィルターを使用すると、さまざまなルールを使用して、クライアントにポリシーをより柔軟に適用できます。 WMIフィルターは、WMIクエリのセットです(WMIクエリ言語/ WQL が使用されます)特定のグループポリシーを適用する必要があるコンピューターをターゲットにするために使用できます。たとえば、WMI GPOフィルターを使用すると、OUにリンクされたポリシーをWindows 10を実行しているコンピューターにのみ適用できます(このようなWMIフィルターを使用するポリシーは、他のWindowsバージョンのコンピューターには適用されません)。
WMI GPOフィルターは何に使用されますか?
通常、 WMIを使用したグループポリシーのフィルタリング (Windows Management Instrumentation)は、複数のドメインオブジェクト(ユーザーまたはコンピューター)が個別のOUではなくフラットなAD構造に配置されている場合、またはOSのバージョン、ネットワーク設定、インストールされているソフトウェアに応じてグループポリシーを適用する必要がある場合に使用できます。または、WMIを使用して選択できるその他の基準。クライアントがそのようなグループポリシーを処理すると、Windowsはその状態をチェックして、指定されたWMIクエリに準拠しているかどうかを確認し、フィルター条件が満たされている場合は、GPOがこのコンピューターに適用されます。
WMIグループポリシーフィルターは、Windows XP / Server 2003で最初に登場し、最新のWindowsバージョン(Windows Server 2019、2016およびWindows 10、8.1)で使用できます。
新しいWMIフィルターを作成するには、グループポリシー管理を開きます。 コンソール(gpmc.mscを選択し、[フォレスト]->[ドメイン]->[woshub.com]->WMIフィルターに移動します 。このセクションには、ADドメイン内のすべてのWMIフィルターが含まれています。新しいWMIフィルターを作成します(新規 。
フィルタ名とその説明を入力します(オプション)。 WMIクエリコードをフィルターに追加するには、[追加]をクリックします ボタンで、WMI名前空間の名前を指定します(デフォルトでは、 root \ CIMv2 )、WMIコードを指定します。
次のWMIクエリ形式が使用されます:
Select * from <WMI Class> WHERE <Property> = <Value>
この例では、Windows10を実行しているコンピューターにのみGPOを適用できるWMIフィルターを作成します。WMIクエリは次のようになります。
Select * from Win32_OperatingSystem where Version like "10.%" and ProductType="1"
作成されたWMIフィルターは、 msWMI-Somに保存されます。 セクションDC=…、CN =System、CN =WMIPolicy、CN =SOMのActiveDirectoryドメインのクラスオブジェクト 、adsiedit.mscを使用してそれらを検索および編集できます。
WMIフィルターを作成したら、それを特定のGPOにリンクできます。 GPMCコンソールとスコープで目的のポリシーを見つけます [WMIフィルタリング]のタブ [セクション]ドロップダウンリストで、WMIフィルターを選択します。この例では、Windows10を実行しているコンピューターにのみプリンター割り当てポリシーを適用します。
このポリシーがクライアントに適用されるのを待つか、コマンドgpupdate /force
を使用して手動で更新します 。クライアントに適用されたポリシーを分析するときは、gpresult/rコマンドを使用します。ポリシーがクライアントに影響を与えるが、WMIフィルターの制限のために適用されない場合、そのようなポリシーのステータスはフィルタリング:拒否(WMIフィルター)になります。 gpresultレポートで。
GPOWMIフィルタリングの例
最も一般的に使用されるWMIGPOフィルターのさまざまな例を見てみましょう。
WMIフィルターを使用すると、OSの種類を選択できます。
- ProductType =1 –任意のデスクトップWindowsエディション;
- ProductType =2 –ActiveDirectoryドメインコントローラー;
- ProductType =3 –WindowsServer。
Windowsバージョン:
- Windows Server 2016 およびWindows10 — 10.%
- Windows Server2012R2およびWindows8.1 — 6.3%
- Windows Server 2012 およびWindows8 — 6.2%
- Windows Server2008R2およびWindows7 — 6.1%
- WindowsServer2008およびWindowsVista — 6.0%
- Windows Server 2003 — 5.2%
- Windows XP — 5.1%
- Windows 2000 — 5.0%
論理演算子ANDを使用して、WMIクエリで条件を組み合わせることができます およびまたは 。 Windows Server 2016を実行しているサーバーにのみポリシーを適用するには、WMIクエリコードは次のようになります。
select * from Win32_OperatingSystem WHERE Version LIKE "10.%" AND (ProductType = "2" or ProductType = "3" )
Windows 8.1の32ビットバージョンを選択するには:
select * from Win32_OperatingSystem WHERE Version like "6.3%" AND ProductType="1" AND OSArchitecture = "32-bit"
GPOを64ビットOSのみに適用するには:
Select * from Win32_Processor where AddressWidth = "64"
特定のビルド番号を持つWindows10を選択できます(例:Windows 10 1803:
)。
select Version from Win32_OperatingSystem WHERE Version like “10.0.17134” AND ProductType=”1″
ポリシーをVMWare仮想マシンにのみ適用します:
SELECT Model FROM Win32_ComputerSystem WHERE Model = “VMWare Virtual Platform”
ポリシーをラップトップにのみ適用します(SCCMでラップトップを検索するためのWMIクエリの記事を参照):
select * from Win32_SystemEnclosure where ChassisTypes = "8" or ChassisTypes = "9" or ChassisTypes = "10" or ChassisTypes = "11" or ChassisTypes = "12" or ChassisTypes = "14" or ChassisTypes = "18" or ChassisTypes = "21"
WMIフィルター。名前が「lon-pc」で始まるコンピューターにのみ適用されます(たとえば、これらのデバイスのUSBドライブを無効にするため):
SELECT Name FROM Win32_ComputerSystem WHERE Name LIKE ‘lon-pc%’
GPOをIPサブネットにターゲティングするためにWMIフィルターを使用する別の例は、「WMIフィルターを使用してGPOをIPサブネットに適用する」の記事で説明されています。たとえば、複数のIPサブネット内のクライアントにポリシーを適用するには、WMIクエリを使用します。
Select * FROM Win32_IP4RouteTable WHERE (Mask='255.255.255.255' AND (Destination Like 10.1.1.%' OR Destination Like '10.1.2.%'))
RAMが1GBを超えるデバイスのみを選択するには:
Select * from WIN32_ComputerSystem where TotalPhysicalMemory >= 1073741824
Internet Explorer 11がインストールされていることを確認するためのWMIフィルター:
SELECT path,filename,extension,version FROM CIM_DataFile WHERE path="\\Program Files\\Internet Explorer\\" AND filename="iexplore" AND extension="exe" AND version>"11.0"
PowerShellを使用してGPOWMIフィルターをテストする
WMIクエリを作成するときに、コンピューター上のさまざまなWMIパラメーターの値を取得する必要がある場合があります。この情報は、 Get-WMIObjectを使用して取得できます。 コマンドレット。たとえば、Win32_OperatingSystemクラスのWMI属性と値を表示する必要があります。
Get-WMIObject Win32_OperatingSystem
SystemDirectory : C:\WINDOWS\system32
Organization :
BuildNumber : 17134
RegisteredUser : Windows User
SerialNumber : 00331-10000-00001-AA146
Version : 10.0.17134
使用可能なすべてのクラスプロパティを表示するには:
Get-WMIObject Win32_OperatingSystem| Select *
を選択します
PowerShellを使用して、コンピューターでWMIフィルターをテストできます。複雑なWMIクエリを作成し、コンピューターがこのクエリに一致するかどうかを確認するとします。たとえば、コンピューター上のIE11をチェックするためのWMIフィルターを作成しました。 get-wmiobject を使用して、ターゲットコンピューターでこのWMIクエリをテストできます。 コマンドレット:
get-wmiobject -query 'SELECT * FROM CIM_DataFile WHERE path="\\Program Files\\Internet Explorer\\" AND filename="iexplore" AND extension="exe" AND version LIKE "11.%"'
このコマンドが何かを返す場合、コンピューターはクエリ条件を満たしています。 get-wmiobjectコマンドが何も返さない場合、コンピューターはWMIフィルタークエリと一致しません。
たとえば、Windows10およびIE11を搭載したコンピューターで指定されたコマンドを実行すると、コマンドは次のように返されます。
Compressed : False
Encrypted : False
Size :
Hidden : False
Name : c:\program files\internet explorer\iexplore.exe
Readable : True
System : False
Version : 11.0.17134.1
Writeable : True
これは、IE 11がコンピューターにインストールされ、そのようなWMIフィルターを備えたGPOがこのコンピューターに適用されることを意味します。
そこで、WMIフィルターを使用して、さまざまなWMIクエリを満たすコンピューターにのみGPOを適用する方法を検討しました。特定のGPOがコンピューターに適用されない理由を分析するときは、WMIフィルターの存在を考慮する必要があります。
-
Windows 10 でローカル グループ ポリシー エディターを開く 5 つの方法
ローカル グループ ポリシー エディターを使用すると、さまざまな単一のユーザー インターフェイスを介して Windows デバイスの設定を行います。レジストリを変更せずに、ユーザー構成とコンピューター構成を変更できます。正しい変更を行うと、従来の方法ではアクセスできなかった機能を簡単にロック解除および無効化できます。 注: ローカル グループ ポリシー エディターは、Windows 10 Enterprise、Windows 10 Education、および Windows 10 Pro エディションでのみ使用できます。これらのオペレーティング システムを除けば、システムにはこれがありませ
-
Windows 10 - グループ ポリシー エディタがない?ポリシー プラス!
Windows で特定の管理機能を有効化、制限、または制御したい場合、微調整を実装する方法は複数あります。しかし、最終的には、すべてレジストリの変更に行き着きます。これらは、レジストリ エディター (regedit.exe) を使用して手動で作成することも、グループ ポリシーを使用して作成することもできます。後者は、システム機能を形成してから複数のノードに複製し、管理を簡素化できる一連の管理用テンプレートです。内部のレジストリで変更が行われることはありますが、グループ ポリシーは人間が判読できるフレンドリーな UI エディターを介してユーザーに公開され、手動のレジストリ作業よりも安全です。唯一