我在高等教育中做了大量工作,在特定课程或活动期间重新配置许多 Windows 域成员(例如教室中的 PC)并在之后撤消此配置是一个相当普遍的要求。
由于要求我们进行的大多数配置更改都可以通过组策略对象完成,并且当 GPO 在 OU 级别取消链接或停用时,这些更改会自动撤消,这是一种非常舒适的方法。
唯一的缺点是重复手动链接和取消链接 OU 上的 GPO 需要在课程开始之前和结束之后进行大量提醒和值班的 IT 人员——这是运营团队始终无法保证的。
有没有办法为特定 GPO 的有效性指定时间范围?
这可以通过WMI 过滤来完成。组策略客户端将从附加的 WMI 过滤器执行 WQL 查询,并且仅在查询返回非零行数时应用 GPO。因此,通过创建一个 WMI 过滤器来检查当前系统时间是否在给定的时间间隔内,并将这个 WMI 过滤器链接到您想要定时炸弹的 GPO,您就可以得到您想要的。
win32_operatingsystem WMI 类有一个localdatetime属性,该属性可以与格式为“yyyymmdd hh:nn:ss”的给定字符串日期进行比较,因此使用 WQL 字符串如
在
root\CIMv2
命名空间中将确保 GPO 仅应用于本地时间在 2015 年 2 月 20 日 00:00:00 和 2015 年 2 月 23 日 15:00:00 之间的系统:确保您已将 WMI 过滤器链接到所需的 GPO:
要记住的事情:
默认情况下,组策略客户端将检查 GPO 更改并很少重新应用它们:
因此,默认设置仅允许 +2 小时的精度。如果需要,可以通过(另一个)组策略设置更改更新间隔。
您的策略需要能够在不再应用时恢复所有更改。默认情况下,所有托管管理模板都是这种情况。组策略首选项设置可能需要明确设置为“不再应用时删除此项目”: