上个月浪哥帮一个客户部署咱们自己写的工具。安装包拷过去,双击。
弹一行字:智能应用控制已阻止可能不安全的应用。
就这一行。没有「仍要运行」,也没有「详细信息」,连个解释都透着股冷淡劲儿。客户在那头问我,是不是软件有问题?
那一下挺尴尬的吧。
说实话我第一反应也是懵。这程序咱们自己写的、自己编译的、自己打包的,怎么就不安全了呢?
后来才弄明白,Windows 压根不认识它是谁。
智能应用控制的判断逻辑其实挺朴素。它先拿这个程序去问微软云端,问这玩意儿你见过没有。云端说认识、安全,直接放行。
云端要是说没见过、不敢打包票,它就退一步看签名。有正规机构发的有效签名,也放行。
签名也没有,那就对不住了。
恶意软件、潜在不需要的程序、未知的没签名代码,默认一起拦。一刀切。内部开发的小工具,正好卡在最后这条上。云端没见过,签名没买,两头都不占。
它没冤枉谁。
认死理。
不过微软自己翻车也不是一回两回了。2022 年 5 月那阵子,这功能把 Windows SDK 里一个引导程序的 DLL 给拦了,那是微软自家的东西。
今年 1 月更热闹。25H2 上一批人反馈它频繁误杀,华硕那个 Armoury Crate 首当其冲,连 Xbox Ally 掌机上的关键应用都遭了殃。德国那边的安全机构还专门出了报告。
所以这玩意儿百分百准吗?不见得。真被拦了,先别急着把整个功能否定掉。
先试这几步,都不用动开关
第一步,看看这个文件是不是被「锁定」了。右键点安装包,属性,常规那一页最底下,看看有没有「解除锁定」这一项。有就勾上,确定。
治的是文件上的来源标记。从网上下载的、从别的机器传过来的文件,往往都带着它。
不过得说清楚,解除锁定主要管的是 SmartScreen 那一层的拦截。要是智能应用控制基于签名拦的,光勾这个框不一定管用。
浪哥那次就是。勾完了双击,还是那行字。看运气。
想省事可以走命令行。管理员模式开终端,敲一行 Unblock-File,后面跟上文件完整路径就行。效果跟勾框一样。
第二步,看看这程序到底有没有签名。右键属性,这回看「数字签名」那一页。
没有这个选项卡,那就是没签。基本可以确诊了。
第三步,进安装目录直接跑主程序。有时候快捷方式启动被拦,直接双击那个 exe 反而能过去。这个属于玄学,时灵时不灵,但试一下也不费嘛。
顺带确认一下系统是不是最新的。微软时不时会在更新里修掉一些误报。
真要关,先搞清楚现在的规矩
这一步我得啰嗦两句,因为网上现在流传的说法,有一半已经过期了。
老规矩是这样的:智能应用控制一旦手动关掉,就再也开不回来,除非重置或者重装 Windows。微软这么设计,是为了防止恶意软件自己把它关掉。
这个说法在很长一段时间里是对的,也是这个功能最招骂的地方。今年 1 月那波误杀闹得最凶的时候,一堆人卡在两难里:关了就永久失去保护,不关软件又装不上。
今年 4 月微软把这个结解开了。
编号 KB5083769 的那次更新,把这个结给解了。智能应用控制的单向锁定取消了。
现在进设置,隐私和安全性,Windows 安全中心,应用和浏览器控制,里面的开关可以来回掰。
重装不用,重置也不用。
不过有个前提。这个改动是灰度推送的,不是装上更新就立刻有。要是你按完更新进去一看,开关还是灰的,别急啊,等几天。
补一句。折腾之前先确认系统版本号,25H2 那档升完是 26200.8246,24H2 是 26100.8246。号对不上就是还没推到。
企业机器可以批量处理
要是公司里几十台电脑都得装自研软件,一台台点设置显然不现实。
可以用注册表。在 HKLM 下面的 Control\CI\Policy 这个路径里,加一个叫 VerifiedAndReputablePolicyState 的值,0 是关、1 是强制、2 是评估。
改完还得跑一下 CiTool 让它生效,不然改了白改。
另外微软官方文档里提到,企业纳管的设备进了评估模式之后,48 小时内会自动关掉,除非用户在那之前手动打开。所以域环境的机器,多数压根就没开这功能。
说到这儿再补一句。智能应用控制到今天也没有白名单机制,也没有组策略可以统一下发。这两条决定了它在企业环境里其实挺难用。真想做应用管控,得走 App Control for Business 那套,自己写规则把内部软件加进信任列表。
另一个话题了。
治本的办法还是签名
说了这么多,其实最该做的一件事是给软件签个名。
签名这事听着唬人、其实没那么贵。早几年动辄大几千,现在国内渠道一年几百块就能拿下,买三年的更划算。签上之后装的时候会显示企业名,客户看着踏实,你也省了解释的功夫。
这里有个坑,还是个新坑。早年间圈子里认一个说法,EV 证书贵是贵、签完就能秒过拦截,图省事的都直接上 EV 了吧。2024 年微软把这条特权取消了。现在不管买哪一档,新软件都得靠真实的下载量和运行次数,一点一点把声誉攒起来。划不来。
急不来。
做驱动的另算。内核驱动得过 WHQL 认证,那道门的门票就是 EV 证书,OV 递不进去。所以这钱不算白花,买的是这个资格。
顺序大概是这样:先签名,让软件在云端有个身份。实在赶时间,再考虑临时把开关掰一下,装完掰回去。
反正现在能掰回去了。
以前那种「关一次,重装一次」的日子,算是过去了哦。
这功能本身我不反感。误杀归误杀,它替不懂技术的用户挡掉的那些东西,肯定比误杀的多。
就是希望微软下次改规则的时候,动静能大一点。多少人到现在还在拿「关了就回不来」吓唬人呢。