吕梁
如果我们发现一个讨厌的弹出窗口,那就说明一定有一个程序在后台偷偷运行并执行了某个小动作。那么如何才能知道这个程序是什么?又如何才能阻止它的运行呢?
获得弹出程序的真实路径
首先,在发现弹窗出现之后,我们先不要关闭此弹出窗口。这时,需要运行一个弹窗程序检测的小软件“彗星助手”,打开彗星助手之后,点击窗口上方工具栏中的“窗口SPY”按钮;然后点击软件界面中类似于光盘形状的图标,按下鼠标,将此图标拖动到要监测的弹出窗口之上;之后,在软件“程序路径”一栏中,就会发现该弹窗程序的路径(图1)。
用组策略添加程序禁止运行
知道了弹窗程序的真实路径之后,我们就可以很容易地通过组策略的程序禁用策略,禁止该程序的运行了。具体方法如下:
按下Win+R组合键打开“运行”对话框并运行GPEDIT.MSC命令,启动本地组策略编辑器。在本地组策略编辑器窗口中,依次定位到如下分支:“本地计算机策略→用户配置→管理模板→系统”(图2)。双击“系统”分支,在打开的窗格中,找到“不运行指定的Windows应用程序”一项并双击(图3)。在随后打开的窗口中,选择“已启用”选项,点击“不允许的应用程序列表”后的“显示”按钮,在显示内容窗口中双击空白值区域,然后右键单击并粘贴此前复制的弹窗路径(图4)。最后确定并应用修改。
用“不运行指定的Windows应用程序”策略禁止的程序同样可以从相同位置设置为放行。如果一些软件被禁止运行,而我们从上述位置又找不到这些程序的痕迹,那么可以检查组策略中“软件限制策略”的位置,看看是否因增加了软件限制策略而使得该软件无法运行。
先用組策略解决
首先打开本地组策略编辑器,依次定位到“本地计算机策略→计算机配置→Windows设置→安全设置→软件限制策略→安全级别”(图5);双击“安全级别”下的“不受限”一项,点击“设为默认”将其设置成默认。如果还不行,就在“软件限制策略→其他规则”中删除现有的散列、路径等。重启电脑后再运行程序(图6)。
进一步修改注册表
如果上面的方法无效,接下来在“运行”中执行REGEDIT命令,启动注册表编辑器。然后依次定位到“HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\Codeldentifiers”,把下属分支中涉及Hashes和Paths下面的项全部删除(图7)。重启电脑,再尝试运行要放行的程序。