前言

最近不少朋友遇到了这样一个困扰:在 Windows 文件资源管理器中开启预览窗格后,无论是从招聘网站下载的 PDF 简历,还是通过 SMB 共享访问的 NAS 文件,都无法正常预览,取而代之的是一条令人摸不着头脑的警告:

“你尝试预览的文件可能对你的计算机有害。如果你信任此文件以及其来源,请打开此文件以查看其内容。”

本文将从技术原理出发,深入剖析这一问题的根源,并提供从临时解决到一劳永逸的完整方案。

一、为什么会弹出这个警告?

1.1 根源:2025年10月的安全更新

2025年10月14日 及之后发布的 Windows 安全更新(如 KB5070960 / KB5066791)开始,微软对文件资源管理器的预览功能进行了一项重要的安全调整。

这项变更并非故障或 Bug,而是微软为封堵一个严重安全漏洞而采取的主动措施。

1.2 漏洞原理:NTLM 哈希泄露风险

问题的核心在于一个 NTLM 哈希泄露漏洞。当用户预览一个包含特定 HTML 标签(如 <link><src> 等)的恶意文件时,这些标签可能引用外部路径。文件资源管理器在渲染预览时会尝试加载这些外部资源,导致用户的 NTLM 哈希值(一种用于网络身份验证的敏感凭据)在用户毫不知情的情况下被发送到攻击者的服务器。

攻击者获取 NTLM 哈希后,可以通过破解或“中间人”攻击等方式窃取用户凭据,进而威胁系统安全。

1.3 识别机制:Mark of the Web(MOTW)

Windows 通过一种名为 “Web 标记”(Mark of the Web,简称 MOTW) 的机制来识别文件的来源。

当用户通过浏览器、邮件客户端等网络渠道下载文件时,Windows 会自动在文件中嵌入一个不可见的标记,记录该文件来源于“Internet 区域”。更新后的文件资源管理器一旦检测到文件带有 MOTW 标记,便会默认禁用预览功能,从根源上切断了上述漏洞的攻击路径。

1.4 两种典型场景

预览警告会在以下两种场景中出现:

场景

触发原因

典型例子

从互联网下载的文件

文件带有 MOTW 标记(来源为 Internet 区域)

招聘网站下载的 PDF 简历、浏览器下载的各类文档

SMB/网络共享中的文件

共享路径被 Windows 识别为 Internet 区域(而非本地 Intranet)

NAS 设备、公司 SMB 共享文件夹中的文件

二、解决方案:针对 SMB/网络共享文件

如果你通过 SMB 共享访问 NAS 或公司服务器上的文件时遇到预览警告,问题在于 Windows 将你的共享路径识别为“Internet 区域”而非“本地 Intranet”。

方案一:通过 Internet 选项添加信任(推荐)

这是最直接的方法——告诉 Windows“这个网络位置是安全的,请允许预览”。

操作步骤:

  1. 按下 Win + R,输入 inetcpl.cpl,回车打开 Internet 选项

  2. 切换到 “安全” 标签页。

  3. 点击 “本地 Intranet”,然后点击下方的 “站点” 按钮。

  4. 点击 “高级”,在输入框中添加你的共享路径:

    • 通过 IP 访问:\\192.168.1.xxx\共享文件夹名称

    • 通过计算机名访问:\\电脑名称\共享文件夹名称

  5. 点击 “添加”,然后一路点击“确定”保存。

  6. 重启文件资源管理器(在任务管理器中重启 explorer.exe 进程)即可生效。

注意:此方案会降低该共享路径下所有文件的安全检查级别,请确保你信任该共享源。

方案二:通过注册表添加信任(进阶)

如果你的共享路径通过域名访问(如 \\company.local\share),或希望通过注册表精确控制,可以使用以下方法。

通过域名访问:

text

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\company.local]
"file"=dword:00000001

通过 IP 地址访问:

text

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1]
"file"=dword:00000001
":Range"="192.168.0.10"

company.local 替换为你的实际域名,192.168.0.10 替换为你的实际 IP 地址。

三、解决方案:针对从互联网下载的文件

对于从招聘网站、邮件等渠道下载的 PDF、Word 等文件,问题根源是文件自带的 MOTW 标记。以下是几种解决方案。

方案一:批量解锁(PowerShell 命令)

适合需要一次性处理大量文件的场景。

解锁“下载”文件夹中所有 PDF:

powershell

Get-ChildItem "C:\Users\你的用户名\Downloads\*.pdf" | Unblock-File

解锁整个文件夹及其子文件夹中的所有文件:

powershell

Get-ChildItem "C:\Users\你的用户名\Downloads" -Recurse | Unblock-File

解锁整个 D 盘(慎用,耗时较长):

powershell

Get-ChildItem "D:\" -Recurse | Unblock-File

方案二:全局设置——让新下载的文件不再被标记

如果你不想每次下载后都手动或批量解锁,可以通过修改注册表让 Windows 不再给新下载的文件添加 MOTW 标记

⚠️ 重要提示:此方案仅对未来新下载的文件生效,已下载的旧文件仍需通过上述方案一或方案二解锁。同时,此操作会降低系统对恶意文件的一道重要防线,请确保你完全信任自己的下载源

操作步骤(Win11 家庭版/专业版通用):

  1. 按下 Win + R,输入 regedit,回车打开注册表编辑器。

  2. 在顶部地址栏粘贴以下路径并回车:

    text

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments
  3. 如果找不到 Attachments 文件夹,右键点击 Policies → 新建 → “项”,命名为 Attachments

  4. 在右侧空白处右键 → 新建 → DWORD (32位) 值,命名为 SaveZoneInformation

  5. 双击该值,将数值数据改为 1,点击“确定”。

  6. 关闭注册表编辑器,重启电脑使修改生效。

关于 SaveZoneInformation=1 的含义:该设置指示 Windows“不保存区域信息”,即不再给新下载的文件添加“来自 Internet”的标签。这样一来,新下载的文件就不会再被预览功能拦截。

方案三:组策略方案(仅限专业版/企业版)

如果你使用的是 Windows 专业版或企业版,可以通过组策略更规范地管理此设置。

  1. 按下 Win + R,输入 gpedit.msc,回车。

  2. 依次展开:用户配置管理模板Windows 组件附件管理器

  3. 在右侧找到 “不保留文件附件的区域信息”,双击打开。

  4. 选择 “已启用” → 点击“应用”和“确定”。

四、关于 SaveZoneInformation 的特别说明

需要特别指出的是,微软官方文档明确表示SaveZoneInformation 注册表修改是一个高级的变通方案(advanced workaround),并非官方完全支持或保证生效的解决方案。

部分用户在修改后反映该设置并未生效。这是因为 Windows 对带有 MOTW 标记的文件禁用预览是安全更新的既定行为(by design),并不完全由 SaveZoneInformation 控制。

微软官方目前仅正式推荐以下三种方式来解除预览限制:

  1. 单个文件手动解除锁定

  2. PowerShell 批量解除锁定(移除 MOTW)

  3. 将网络位置添加至受信任区域

五、总结与建议

使用场景

推荐方案

优点

注意事项

SMB/NAS 共享文件无法预览

Internet 选项 → 添加至本地 Intranet

一劳永逸,覆盖整个共享路径

需信任该共享源

偶尔下载几个文件

右键属性 → 解除锁定

操作简单,最安全

逐个操作较慢

大量下载文件需批量处理

PowerShell Unblock-File 命令

高效批量处理

需确认文件来源可信

希望新文件不再被标记

注册表 SaveZoneInformation=1

源头解决问题

⚠️ 可能失效,降低安全性

最佳实践建议

对于大多数普通用户,最稳妥的组合方案是:

  1. SMB 共享文件:使用 Internet 选项将共享路径添加至本地 Intranet 区域。

  2. 下载的文件:定期在“下载”文件夹中运行 PowerShell 批量解锁命令。

  3. 极个别重要文件:使用右键属性手动解锁。

如果追求极致便利且下载源高度可信,可以尝试注册表修改方案,但请务必了解其可能失效降低安全性的双重风险。

🛠️ 懒人版脚本:关闭新下载文件的预览拦截(全局设置)

这个脚本会自动创建 SaveZoneInformation=1,让以后所有新下载的文件不再被标记为“来自互联网”,从而彻底告别预览警告。

📄 脚本内容(保存为 DisablePreviewBlock.bat

batch

@echo off
title 解除 Windows 预览安全警告(全局设置)
echo ==============================================
echo  本脚本将修改注册表,使新下载的文件不再被
echo  标记为“来自互联网”,从而允许预览窗格正常显示。
echo.
echo  注意:此修改仅对未来新下载的文件生效,
echo       已存在的旧文件不受影响。
echo.
echo  按任意键继续,或关闭窗口取消...
pause > nul

:: 检查管理员权限
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo [错误] 请以管理员身份运行此脚本!
    echo 右键点击本文件 -> 选择“以管理员身份运行”
    pause
    exit /b
)

:: 创建或修改注册表键值
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments" /v SaveZoneInformation /t REG_DWORD /d 1 /f >nul

if %errorlevel% equ 0 (
    echo [成功] 注册表修改完成!
    echo [提示] 请重启文件资源管理器或重启电脑使改动生效。
) else (
    echo [失败] 注册表修改出错,请检查权限或手动尝试。
)

echo.
echo 按任意键退出...
pause > nul

🚀 使用方法

  1. 在桌面上新建一个文本文档,把上面的代码全部复制进去。

  2. 点击“文件” -> “另存为”,文件名写 DisablePreviewBlock.bat保存类型选“所有文件”,编码选 ANSI(避免中文乱码)。

  3. 右键点击这个 .bat 文件,选择 “以管理员身份运行”

  4. 按提示按任意键,完成后重启电脑(或重启资源管理器)即可生效。