Windows Server 2016环境下AppLocker阻止通用应用的技术咨询
解决Windows Server 2016中AppLocker阻止本地管理员运行通用应用的问题
这是个非常典型的Server 2016升级后AppLocker与UWP应用的兼容性问题,我之前帮不少企业用户排查过类似场景,咱们一步步拆解原因并解决:
问题根源
Windows Server 2008-2012 R2时代的AppLocker默认规则只针对传统Win32程序设计,而Server 2016引入的Universal Apps(现在称为UWP应用)有完全不同的安装路径、签名机制和权限模型。默认规则并没有覆盖UWP应用的核心路径和发布者签名,哪怕是本地管理员,AppLocker也会因为匹配不到允许规则而触发阻止行为。
具体解决方案
1. 添加UWP应用专属的发布者允许规则
UWP应用依赖发布者签名验证,我们需要为本地管理员创建针对UWP应用的允许规则:
- 打开本地安全策略工具(
secpol.msc),或者域环境下用组策略编辑器(gpedit.msc),定位到 计算机配置 > Windows设置 > 安全设置 > 应用程序控制策略 > AppLocker - 右键点击「打包的应用程序规则」,选择「创建新规则」
- 在规则向导中,权限选择「允许」,用户组指定「本地管理员」(如果需要让更多用户运行UWP,可调整为对应用户组)
- 条件页面选择「发布者」,点击「浏览」,选择一个已安装的微软UWP应用(比如自带的计算器),系统会自动提取微软的发布者证书信息
- 规则范围可以选择「所有来自此发布者的应用」,这样就能覆盖所有微软签名的UWP应用;如果有第三方UWP应用,重复此步骤添加对应发布者的规则
- 完成规则创建,确保规则已启用
2. 补充UWP安装路径的可执行规则
UWP应用的主程序存放在%PROGRAMFILES%\WindowsApps目录下,默认的AppLocker可执行规则可能未覆盖此路径,需要补充:
- 在AppLocker的「可执行规则」下,右键选择「创建新规则」
- 权限选「允许」,用户组选「本地管理员」
- 条件页面选择「路径」,输入
%PROGRAMFILES%\WindowsApps\*,确保包含该目录下所有子文件和程序 - 完成规则创建,避免因为路径未被允许导致UWP启动失败
3. 刷新并验证规则
- 打开管理员权限的命令提示符,运行
gpupdate /force强制刷新组策略设置 - 用PowerShell命令
Get-AppLockerPolicy -Effective | Format-List查看生效的规则,确认UWP相关规则已被正确加载 - 测试运行UWP应用(比如计算器、邮件),验证是否不再被阻止
4. 注意事项
- 不要修改原有默认规则,仅添加补充规则,避免破坏之前针对Remote Apps和
explorer.exe阻止的策略 - 域环境下要确保组策略正确部署到所有Server 2016 RDS服务器
- 如果需要更精细的控制,可以针对特定UWP应用的产品名称或版本创建规则,而不是一刀切允许所有发布者应用
内容的提问来源于stack exchange,提问作者ltwally
相关产品推荐
相关产品推荐

