跳转到内容

SmartScreen 与「未知发布者」:到底拦了什么

核验于 2 分钟阅读

声誉与网络标记如何决定文件能否运行、为什么自己编译的程序也被拦,以及点「仍要运行」之前该做什么。

测试环境Pro (26H2) / Server · 版本号 26300.9457 / 26100.33650 · x64
E1
版本号
26300.9457 / 26100.33650
版本
Pro (26H2) / Server
架构
x64
支持
文档(E1)
证据
E1官方文档
核验日期
2026-10-29
页面类型
概念

产生吓人提示的是两套不同机制:

  • 网络标记(MotW)——Windows 给从互联网下载的文件打的标记,意思是“来自外部”,不是“这是恶意软件”。
  • 声誉——SmartScreen 向微软查询该文件/哈希/发布者是否已知良好或已知恶意。

“未知发布者”几乎总意味着二进制没有代码签名,而不是它有恶意。“Windows 已保护你的电脑”意味着声誉查询无结论或负面。

提示 原因
“未知发布者” 没有 Authenticode 签名
“Windows 已保护你的电脑” 有 MotW + 声誉不足
“此应用无法在你的电脑上运行” 架构不匹配(ARM64 vs x64)
“已被管理员阻止” 策略(AppLocker/WDAC/SmartScreen 策略)
终端窗口
Get-Item .\setup.exe -Stream * | Select-Object Stream,Length
Get-AuthenticodeSignature .\setup.exe | Select-Object Status,SignerCertificate

Status : NotSigned 解释了发布者提示。Status : Valid 但签名者不认识,是另一个问题——是谁签的?

是你编译的,理应可信——除非:

  • 它没有签名(多数调试构建如此);
  • 它从别的机器下载或复制过来,带着 MotW;
  • SmartScreen 从没见过这个哈希。

按正确性排序的选项:

  1. 给二进制签名(自用自签,分发用代码签名证书)。
  2. 清除自己产出的文件的 MotW:Unblock-File .\app.exe。
  3. 点 更多信息 → 仍要运行——对自己刚构建的一次性文件可以接受。
  • 不是杀毒:它不像 Defender 那样扫描文件内容。
  • 不是保证:被入侵的发布者签出的二进制照样通过。
  • 不是全流量过滤——那是 Defender 的 Web 防护。
情况 正确做法
厂商工具、未签名 核对下载来源与厂商页面上的哈希,再解除阻止
内部工具 签名,或用策略允许
老安装包 优先换新版本;老的未签名安装包是真实风险
同事发来的脚本 先读再解除
终端窗口
Unblock-File .\tool.exe
Get-Item .\tool.exe -Stream * | Select-Object Stream

没有受支持的方式在本地“白名单”某个哈希——声誉是云服务。你能做的是:

  • 给二进制签名;
  • 用 AppLocker/WDAC 按发布者允许,从而跳过受信发布者的声誉提示;
  • 单机场景下接受提示继续。

E1。SmartScreen 与 MotW 行为有微软文档依据。实验室虚拟机不访问不可信下载,因此未复现提示。

来源