使用WMI筛选限制组策略

时间:2020-01-09 10:46:28  来源:igfitidea点击:

组策略(GPO)中的WMI筛选器允许我们通过使用不同的规则更灵活地将策略应用到客户端。WMI筛选器是一组WMI查询(使用WMI查询语言/ WQL),可用于将特定组策略应用到的目标计算机。例如,使用WMI GPO筛选器,可以将链接到OU的策略仅应用于运行Windows 10的计算机(具有此类WMI筛选器的策略不会应用于具有其他Windows版本的计算机)。

WMI GPO过滤器用于什么?

通常,当多个域对象(用户或者计算机)位于平面AD结构中而不是单独的OU中时,或者如果需要根据操作系统版本、网络设置、安装的软件或者任何其他条件应用组策略,则可以使用使用 WMI(Windows Management Instrumentation)进行组策略筛选可以使用WMI选择。当客户端处理此类组策略时,Windows将检查其状态是否符合指定的WMI查询,如果满足筛选条件,则GPO将应用于此计算机。

WMI组策略筛选器首次出现在Windows XP/Server 2003中,并在最新的Windows版本(Windows Server 2019、2015和Windows 10,8.1)中提供。

创建一个新的WMI过滤器并将其链接到GPO

要创建新的WMI筛选器,请打开 组策略管理控制台(gpmc.msc然后转到林->域->theitroad.本地-> WMI过滤器。此部分包含AD域中的所有WMI筛选器。新建WMI筛选器( 新建)。

键入筛选器名称及其说明(可选)。要将WMI查询代码添加到筛选器中,请单击 添加按钮,指定WMI命名空间的名称(默认情况下, root\CIMv2),然后指定WMI代码。

使用以下WMI查询格式:

Select * from <WMI Class> WHERE <Property> = <Value>

在这个例子中,我想创建一个WMI过滤器,它只允许对运行Windows10的计算机应用GPO。WMI查询可能如下所示:

Select * from Win32_OperatingSystem where Version like "10.%" and ProductType="1"

创建的WMI筛选器存储在Active Directory域的[msWMI Som]类对象中的DC=…,CN=System,CN=WMIPolicy,CN=Som部分,我们可以使用AD编辑.msc.

创建WMI筛选器后,可以将其链接到特定的GPO。在GPMC控制台中找到所需的策略,并在 范围选项卡上的 WMI筛选部分下拉列表中,选择WMI筛选器。在本例中,我只想将打印机分配策略应用于运行Windows 10的计算机。

等待此策略应用于客户端,或者使用命令手动更新它

gpupdate /force

. 在分析客户端上应用的策略时,请使用gpresult/r命令。如果该策略影响客户端,但由于WMI筛选器限制而不适用,则该策略在gpresult报告中将具有状态 筛选:拒绝(WMI filter)

GPO WMI过滤示例

让我们看看最常用的wmigpo筛选器的各种示例。

在WMI筛选器的帮助下,我们可以选择操作系统类型:

  • ProductType=1–任何桌面Windows版本;

  • ProductType=2–Active Directory域控制器;

  • ProductType=3–Windows服务器。

Windows版本:

  • Windows Server 2015和Windows 10-10.%

  • Windows Server 2012 R2和Windows 8.1-6.3%

  • Windows Server 2012和Windows 8-6.2%

  • Windows Server 2008 R2和Windows 7-6.1%

  • Windows Server 2008和Windows Vista-6.0%

  • Windows Server 2003-5.2%

  • Windows XP系统-5.1%

  • Windows 2000-5.0%

我们可以使用逻辑运算符[和]和[或者]组合WMI查询中的条件。要将该策略仅应用于运行Windows Server 2015的服务器,WMI查询代码如下:

select * from Win32_OperatingSystem WHERE Version LIKE "10.%" AND (ProductType = "2" or ProductType = "3" )

要选择32位版本的Windows 8.1:

select * from Win32_OperatingSystem WHERE Version like "6.3%" AND ProductType="1" AND OSArchitecture = "32-bit"

要将GPO仅应用于64位操作系统,请执行以下操作:

Select * from Win32_Processor where AddressWidth = "64"

我们可以选择具有特定内部版本号的Windows 10,例如Windows 10 1803: