分享

区别对待 解决“应用已被阻止”的问题

 我心永恒0527 2022-06-11 发布于浙江

俞木发

1. 运行系统内置程序时遭遇拦截

有时我们以管理员身份运行系统中正常的程序(如mmc.exe)时,系统会弹出阻止运行的提示;在运行所有提权程序(如regedit.exe)时,也弹出类似的提示(图1)。

从图1可以知道,UAC可以正确识别文件的发布者,而且点击“显示发布者的证书信息”,也没有发现程序的证书有问题,说明mmc.exe本身是没有问题的。这个原因大多是由于系统的“CryptographicServices”服务出错而导致的,该服务的作用是“用于确认Windows文件的签名和允许安装新程序”。如果该服务异常(如没有正常启动或者其依赖的加密服务.EDB数据库文件损坏),那么就会导致UAC在校验文件签名时出错,从而激活UAC阻止程序运行。

解决方法:先检查本机服务的状态。打开服务管理窗口,在服务列表中找到上述的服务,双击并打开后要确保该服务的状态是“正在运行”,启动类型则为“自动”,若为停止状态则会出现上述的故障(图2)。

如果在图2所示的界面中无法正常启动该服务,那么原因可能就是数据库文件损坏,可以用管理员身份启动PowerShell,输入下列的命令重建数据库(每输入一行命令后均需回车确认,下同),重启后即可解决。

Stop-Servicecryptsvc

Rename-Item-Path"C:\Windows\System32\catroot2"-NewNamecatroot2.old

Restart-Compute

如果UAC无法正确识别文件的发布者(即发布者显示为“未知”),比如在很多运行家庭版Windows10的电脑上运行组策略编辑器时,系统也会出现类似的拦截提示(图3),这个原因可能是由于Windows10家庭版本身没有组策略编辑器,导致当前账户可能没有足够的权限来运行mmc.exe加载gpedit.msc文件。解决的方法是,先在任务栏上的搜索框中输入“secpol.msc”,然后依次展开“本地策略→安全选项”,双击右侧窗格中的“用户帐户控制:以管理员批准模式运行所有管理员”,将其设置为“已禁用”,重启后即可解决(图4)。

2. 运行第三方程序时遭遇拦截

如果我们是在运行一些第三方程序,如网上下载的程序,安装时系统弹出拦截提示,大多是系统认为该程序有恶意代码或者安全隐患所导致,比如笔者在安装某款软件时就弹出拦截提示,只能点击“关闭”,无法完成安装(图5)。

如果我们可以确认需要安装的程序是安全的(如软件是从官网下载的),那么可以先以管理员身份启动命令提示符,输入命令“D:\tools\file\diskgenius.exe”(不含外双引号,具体程序路径请参考图5所示的“程序位置”显示),回车后就可以启动安装(图6)。因为在以管理员身份运行的命令提示符下可以屏蔽UAC的拦截,从而直接运行安装程序。这里需要注意的是,一定要确保运行的程序是安全可靠的。

3. 运行已签名的第三方程序时遭遇拦截

在Windows 10中,所有需要提权运行的程序如果有数字签名,那么启动程序时UAC都会进行签名的验证,程序的签名已经过期或者被撤销,那么UAC就会弹出类似图5所示的提示。比如笔者近日运行的某程序,在弹出拦截窗口时点击“显示发布者证书信息”,接着再依次点击“数字签名→详细信息”,在打开的窗口中可以看到数字签名信息中显示“证书已被颁发者直接吊销”,所以这类程序一运行就会被UAC拦截(图7)。

对于这类程序,如果我们需要在Windows 10中正常运行它们,可以使用SignRemv(下載地址:https://share.weiyun.com/FYP2N0F6)来移除其签名。启动程序后点击“浏览”,然后将需要移除签名的程序导入,点击“移除签名”即可(图8)。

完成签名的移除后,再次右击程序并选择“属性”,在程序的属性窗口中就没有“数字签名”的选项卡了(图9)。这样程序运行后会弹出UAC正常的提权提示,我们只要点击“是”运行即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多