windows下载zip后自动标记js/exe等文件为“来自互联网”,导致解压后被smartscreen或defender拦截;需先解除zip的“解除锁定”属性,再用7-zip、tar命令或资源管理器【全部提取…】方式解压,避免二次标记。

Windows系统在下载ZIP等压缩包后,会自动对其中的JS、EXE、VBS等可执行脚本文件添加“已阻止此文件来自互联网”的Zone.Identifier替代数据流,并在解压时触发SmartScreen或Defender拦截,导致双击脚本直接报错“无法运行”,甚至部分安全软件会静默删除。这个问题在开发调试、内网工具分发、自动化脚本部署场景中高频出现。
确认压缩包是否被标记为来自互联网
右键下载的ZIP文件→选择【属性】→查看底部是否显示“安全”区域并勾选了“解除锁定”。若存在该选项且未勾选,说明系统已将其识别为网络来源文件。
这一步必须先做,否则后续所有解压操作都会继承隔离属性,哪怕用7-Zip解压也无法绕过。
解压前清除下载标记(推荐)
方法一:图形界面手动解除锁定
右键ZIP文件→【属性】→勾选底部“解除锁定”复选框→点击【确定】。此操作会删除NTFS上的Zone.Identifier流,仅对当前ZIP生效,不影响内部文件原始属性。
方法二:PowerShell批量清除(适用于多个压缩包)
以管理员身份运行PowerShell→执行:Unblock-File -Path "D:\Downloads\toolset.zip"。路径必须为绝对路径,相对路径会报错。
【注意:Unblock-File不会递归处理ZIP内嵌文件,它只清除ZIP自身的标记。ZIP解压后,内部脚本仍可能被二次标记——这取决于解压方式和系统策略。】
解压时避免触发二次标记
第一步:禁用资源管理器默认解压行为
打开ZIP文件时,不要双击直接进入→改用右键菜单中的【全部提取…】→在弹出窗口中点击【浏览】选择目标文件夹→确保勾选【显示提取的文件】→点击【提取】。
第二步:使用无标记感知的解压工具
安装7-Zip或Bandizip后,右键ZIP→选择【7-Zip → 提取到当前文件夹】。这类工具不调用Windows Shell API,不会主动读写Zone.Identifier,解压出的JS/EXE文件默认无Internet Zone标记。
第三步:命令行解压(彻底规避GUI层干预)
Win+R输入cmd→执行:tar -xf "D:\Downloads\script.zip" -C "D:\unpacked"。Windows 10 1803+内置的tar命令完全绕过Explorer隔离逻辑,解压结果与源文件原始属性一致。
永久禁用下载文件的自动标记(高风险)
仅限可信内网环境使用。按Win+R→输入gpedit.msc→依次展开【计算机配置】→【管理模板】→【Windows组件】→【附件管理器】→双击【文件附件中不保留区域信息】→启用该策略。
【启用后,所有通过IE、Edge、Chrome(含下载管理器)获取的文件均不再写入Zone.Identifier,系统将失去对网络来源文件的基础防护边界。】
修改完成后无需重启,但需重启浏览器或等待组策略刷新(约90秒)。











