受控文件夹访问(CFA)拦截未签名安装程序写入受保护路径,需先确认CFA已启用,再通过安全中心“允许的应用”添加该EXE文件,或用PowerShell批量添加可信路径,排查时可临时禁用CFA但须及时恢复。

下载软件安装包后双击运行,系统弹出“已阻止未经授权的更改”提示,说明受控文件夹访问(CFA)正在拦截该程序对文档、桌面等受保护路径的写入行为——这不是SmartScreen警告,也不是文件被标记为“来自Internet”,而是程序本身未被列入CFA白名单,哪怕它是你亲手下载的合法软件。
确认是否真是受控文件夹访问在拦截
先排除干扰项:右键点击报错的EXE文件→属性→常规选项卡,看底部是否有“此文件来自其他计算机…”提示。如果有,勾选“解除锁定”并点确定,再试一次。若仍弹窗且文字明确含“受控文件夹访问”或“未经授权的更改”,才进入CFA放行流程。
打开Windows安全中心→病毒和威胁防护→管理勒索软件防护→查看“受控文件夹访问”开关状态。如果显示“关”,那根本不是CFA拦的,可能是组策略或第三方杀软;【必须确保此处为“开”状态,否则后续所有放行操作都无效】。
手动添加安装程序到CFA允许列表
这是最直接、见效最快的放行方式,适用于单个已知可信的安装包(如ChromeSetup.exe、Notepad++-x64-8.6.7.exe)。
返回“受控文件夹访问”主页面→点击【允许的应用】→【+ 添加允许的应用】。
点击【浏览】→导航至你下载的EXE文件所在目录(例如C:\Users\Name\Downloads)→选中该.EXE文件→点击【打开】。
注意:必须选中.exe本体,不能选快捷方式、不能选.zip压缩包、也不能选解压后的文件夹。安装程序运行时会以自身进程名义写入文档、桌面等路径,只有它自己被放行才有效。
批量放行整个软件安装目录(推荐给开发者/运维)
如果你频繁安装同一套工具链(比如VS Code、Postman、Docker Desktop),每次更新都要重新添加新版本EXE太麻烦。这时可将整个安装目录设为“可信路径”,让该目录下所有子进程自动获得写入权限。
方法一:用PowerShell一次性添加(管理员权限运行)
执行命令:Set-MpPreference -ControlledFolderAccessAllowedApplications "C:\Program Files\MyApp\installer.exe"。把路径替换成你实际的安装器位置。
方法二:通过Intune或CSV导入(企业环境适用)
准备一个纯文本CSV文件,内容格式为:
ControlledFolderAccessAllowedApplications
"C:\Program Files\Git\git-bash.exe"
"C:\Program Files\7-Zip\7zFM.exe"
回到Windows安全中心→管理勒索软件防护→受控文件夹访问→允许的应用→点击【导入】→选择该CSV文件→完成。
临时关闭CFA验证是否真由它导致(慎用)
仅用于排查:如果上述步骤做完仍报错,可临时关闭CFA验证是否是其他机制在拦截。
以管理员身份运行PowerShell→输入:Set-MpPreference -EnableControlledFolderAccess Disabled→回车。
立刻双击原EXE测试。若此时能正常运行,说明问题确实在CFA配置;若依然报错,则应检查SmartScreen、组策略“防止运行未签名的Windows程序”或第三方杀软的实时防护模块。
【关闭后务必在5分钟内重新启用,否则系统关键文件夹处于无防护裸奔状态】:执行Set-MpPreference -EnableControlledFolderAccess Enabled即可恢复。

















