1. UAC 1.1 UAC选项 1.2 触发UAC警告条件 1.3 避免UAC提示的方法 2. 提供管理员权限-任务计划方式 2.1 Windows 任务计划 2.2 快捷方式 2.3 运行 2.4 更便捷的UAC白名单小工具 3. 不提供管理员权限-RUNASINVOKER 3.1 RUNASINVOKER 3.2 补充说明 4. 应用程序兼容性工具包 (ACT)
1. UAC
用户帐户控制 (UAC) User Account Control 旨在防止对 Windows 进行未经授权的更改。
当作需要管理员级权限时,UAC 会提示你批准或拒绝更改。这有助于保护 Windows 设备免受恶意软件和未经授权的修改的影响。
可以通过打开控制面板 > 系统和安全 > 更改用户帐户控制设置来更改 UAC 行为。
将滑块移动到所需的通知级别,然后选择“ 确定”以保存更改。
1.1 UAC选项
选项如下,中间2项基本一致,只是第三项更加友好些。
- 始终通知
- 仅当应用尝试对我的计算机进行更改时通知我 (默认)
- 仅当程序尝试更改我的计算机时通知我 (不调暗我的桌面)
- 从不通知 (禁用 UAC)
1.2 触发UAC警告条件
- 安装或卸载程序
- 账户设置
- 系统各种设置
- 注册表操作
- 访问系统目录,程序目录
- 访问其他用户目录
- 安装驱动
- 设置共享
- …
更详细的列表:
1.3 避免UAC提示的方法
禁用 UAC 是不推荐的。但可以针对个别软件进行相应的设置,规避UAC提示。
避免UAC提示的方法有:
- 提供管理员权限
- Windows 任务计划
- 更便捷的UAC白名单小工具
- 不提供管理员权限
- [RUNASINVOKER] 强制软件 [以普通用户身份运行] 以取消 UAC 提示
- 微软应用程序兼容性工具包 (ACT) Application Compatibility Toolkit
2. 提供管理员权限-任务计划方式
方法有点绕,效果还不错。步骤是先建立一个任务计划,再建立对应的快捷方式。参照原文连接:
2.1 Windows 任务计划
右键开始菜单,选择计算机管理(cmd: compmgmt)
计算机管理中,依次点开: 系统工具\任务计划程序\任务计划执行库
菜单栏: 操作\创建任务
- 创建任务界面\常规页签
- 填写名称,比如: RunCMDAdmin
- 勾选 使用最高权限运行
- 创建任务界面\操作页签
- 点击 [新建]
- 新建操作界面\
- 程序或脚本: C:\Windows\System32\cmd.exe
- 起始于(可选): D:\Tom\Documents
- 说明: 起始于路径,可以定义打开cmd时的初始位置,对于需要将命令执行结果写入文本文件的需要。可以输入保存文件的位置。
- 点击[确定]
计划任务建好,可以右键计划任务名称,选择运行看看。
打开的cmd是管理员权限,且过程没有弹出UAC警告。
2.2 快捷方式
桌面空白处右键菜单 选择 新建\快捷方式
快捷方式的位置填写: schtasks.exe /run /tn "RunCMDAdmin"
点击 下一步 填写快捷方式名称: cmdAdmin 点击[完成]
2.3 运行
双击创建的快捷方式就会发现不会弹出 UAC 并且 [以管理员身份运行] 了。
2.4 更便捷的UAC白名单小工具
第三方小工具,把前面的计划任务到快捷方式的操作打包成的便捷的小工具。
约50k的小工具,界面很简单,下载下来就能用。原理就是前面的添加计划任务方式。
3. 不提供管理员权限-RUNASINVOKER
强制软件 [以普通用户身份运行] 以取消 UAC 提示。参照原文连接:
3.1 RUNASINVOKER
regedit 打开注册表编辑器
计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
进入 Layers 文件夹后,新建一个 [字符串值]。
字符串名称就是你指定的软件完整路径, 无论路径里有没有空格都不需要加上引号!比如:
F:\Program Files\HoYoPlay\games\Genshin Impact game\GenshinImpact.exe
然后右键刚刚新建的字符串 - 修改 - 数值数据:RUNASINVOKER
完成,可以回到桌面打开GenshinImpact看看,没有UAC警告,运行正常。
注意:如果你打算添加新字符串值时,发现该注册表项已存在了,那么说明你设置过该软件的 兼容性(右键 - 属性 - 兼容性 选项卡),遇到这种情况,你只需追加到最后就行了。
例如注册表已存在的数值数据为:~ WIN7RTM
那么就改成:~ WIN7RTM RUNASINVOKER
3.2 补充说明
原文添加了 WeGame 的 RUNASINVOKER。我这里添加了 GenshinImpact。
想想也是,作为普通游戏,只是在首次安装游戏时需要权限。平时运行时并不需要管理员权限。
最多在新账户首次登录时或许需要权限,比如将用户信息写入注册表,或者建立新账户目录等... 并不需要打开游戏时就获取管理员权限。
安全的做法是打开游戏并不需要管理员权限,但当修改新账号时触发新账号验证程序的时刻触发 UAC 警告。提升权限完成验证。完成后则回到普通用户模式运行程序。
总结一下,游戏类的都可以用这种方式规避UAC警告。不要使用前面计划任务提权的方式。
如果游戏程序拥有管理员权限,那么在你全屏沉浸式游玩的过程中,游戏程序会不会在后台做些奇怪的事。若设置为RUNASINVOKER,那么UAC会阻挡奇怪的事情发生。
注意事项:这种方法仅适用于需要较低权限运行的程序,对于需要管理员权限才能正常工作的程序,应谨慎使用,以免影响程序功能。
4. 应用程序兼容性工具包 (ACT)
Application Compatibility Toolkit
Microsoft应用程序兼容性工具包(ACT)是一种生命周期管理工具,可帮助识别和管理整个应用程序组合,降低解决应用程序兼容性问题所涉及的成本和时间,并帮助快速部署 Windows 和 Windows 更新。
Windows 10 应用程序兼容性工具包随 Windows 10 ADK 一起发布:
使用 应用程序兼容性工具包 ACT ,避免UAC警告。操作过程貌似繁琐。相关帖子很多,但都是很多年前的。
现在,ACT已经集成到 Windows10 ADK(生成WindowsPE就需要用这个ADK)
有兴趣的人可以自己下载安装看看。
