火眼金睛 快速找出设置的组策略项
2021-02-06俞木发
俞木发
自己动手 查看策略文件查找生效策略
在默认情况下,当我们运行组策略编辑器,在其中设置某个策略后,对应地就会在“C:\Windows\System32\GroupPolicy”下的Machine(对应计算机配置)和User(对应用户配置)文件夹中生成策略文件。如果在电脑中修改了某些策略,现在需要取消,那么我们就可以通过查看其中的策略配置文件并结合策略表现来进行排查。比如近日一个朋友的电脑,其孩子学习组策略设置,他在使用电脑时发现无法在任务栏上添加工具栏了,菜单中的选项变为灰色不可用(图1)。
结合上述提示可知道,朋友的电脑可能是在组策略中设置了一条限制添加任务栏的策略。那么具体策略设置在哪里呢?使用记事本程序打开“C:\Windows\Svstem32\GroupPolicy\User\comment.cmtx”,其中的ns0、ns1……就分别表示在组策略编辑中更改的项目名称。从图1可以知道这个策略是针对任务栏生效,因为任务栏位于桌面,所以可以初步判断出策略的项目应该是和comment.cmtx文件中的“Microsoft.Policies.WindOwsDesktop”代码相关。这段代码在组策略编辑器中对应的位置是“用户配置(对应C:\Windows\System32\GroupPolicy\User文件夹)→管理模板(对应comment.cmtx中的admTemplate)→桌面(对应代码中的WindowsDesktop)”(图2)。
打开组策略编辑窗口,按提示展开上述项目,可以看到右侧窗格中的“禁止添加、拖、放和关闭任务栏的工具栏”策略被设置为“已启用”,按提示将其设置为“未配置”,故障就消除了(图3)。
当然,我们这里只是结合故障现象和comment.cmtx中更改的项目进行判断,如果无法据此作出精确的判断,那么还可以根据注册表键值的变化来进行排查。因为大部分策略生效后都会更改注册表中的键值,而这些键值的变化保存在“C:\Windows\System32\GroupPolicy\User\Registry.pol”文件中。所以如果无法通过上述方法找出具体的设置项目,可以用记事本打开上述文件,然后根据其中的键值提示,手动更改相应的键值来解除策略限制。
打开Registry.pol文件后我们可以看到很多键值设置,结合上述策略限制现象进行判断,文件中的“[Software\Policies\Microsoft\Windows\Explorer;MultiTasking Alt Tab Filter;<!--?-->;<!--?-->;]”这段代码最有可能就是策略更改的键值(因为桌面组件策略值更改都是在[Explorer]键值下生效的)(图4)。
现在复制上述的键值到新建的记事本文档中,使用“查找替换”将其中的半角空格删除,然后将键值复制后粘贴到注册表编辑器的地址栏,回车后可以看到右侧窗格中MultiTaskingAltTabFilter的值是“1”(一般策略中生效值为“1”,未配置的值则为“0”),按提示将其更改为0,即可顺利地解除限制(图5)。
用活secedit命令 快速比对找出生效策略
上述方法虽然方便,但并非所有策略的设置和修改都会在注册表中发生变化。比如软件限制策略的设置,在注册表中就无法找到(自然在上述的Registry.pol和comment.cmtx中也无法找到)。如果无法通过上述方法找出变化的策略设置,我们还可以通过导出策略文件进行比较的方法来查找。
在任意一台没有策略限制的正常电脑上启動命令提示符窗口,输入“secedit/export/cfg d:\sec.inf”并回车,将其策略文件导出保存。接着在策略限制的电脑上也输入“secedit/export/cfg d:\sec1.inf”并回车导出(图6)。
启动Excel,将上述两个文件使用记事本程序打开,并将其内容分别复制到Excel工作表的A列和B列。选中A、B列,依次点击“开始一条件格式一重复值”,将重复值显示设置为“浅红色填充深红色文本”,这样两台电脑中不同策略的设置值就可以很清晰地比较出来(图7)。
对A、B列数据进行排序,同时添加筛选功能(根据无填充颜色筛选单元格),这样两台电脑中不一样的策略设置就全部排列出来。最后按照上面介绍的方法,依次在组策略编辑器中找到对应的设置项,或者根据注册表键值进行修改和恢复即可(图8)。