UAC 白名单

6 min read

好像废话有点多_(:з)∠)_ ->-> 直接开始的传送门

一直觉得微软为 Windows 引入 UAC 是个明智的选择,它能在一定程度上减少 Windows 平台过于开放,流氓软件肆意横行的局面。
国内的情况比较特殊,因为很多人根本不知道那是什么,无脑点 “允许” 。
都是被那群流氓给教坏的。。。
抛开这些不谈,即使 UAC 的使用很有必要,但每次都弹出的蓝色框框确实很烦人,特别是在那些需要曾经使用管理员权限的软件上。因此,有的人直接选择关闭 UAC ,不过这样却对系统安全性产生了风险。

所以,如何才能在不关闭 UAC 的情况下,让某些应用不经过 UAC 使用管理员权限?

我首先想到的是使用 Autohotkey 帮用户点“允许”
桌面分为三层,分别是 Winlogon Desktop、Screensaver Desktop、Application Desktop。
所有的应用都运行在 Application Desktop 上( UAC 不算)。UAC 在 Winlogon Desktop 上弹出的窗口。
也就是说,以Autohotkey 所在的位置 UAC 它捞都捞不到。。。

那么,到底要如何干掉 UAC 呢?

经过研究发现,想要在不关闭 UAC 的情况下,让某些应用不经过 UAC 使用管理员权限有两种方法。
分别是使用 任务计划程序 或 Application Compatibility Toolkit (ACT)
这里只解释使用 任务计划程序。

正文

下面正式开始。

我们以 CMD 为例。
在开始菜单找到 CMD,右键 -> 以管理员身份运行
果不其然弹出了 UAC。1

首先,我们打开 任务计划程序
右键 “计算机” -> 管理 -> 任务计划程序
或者 直接在 Cortana 中搜索: 任务计划程序

计划任务程序库 -> 创建任务

添加任务计划

在弹出的对话框中填写名称(名称随便取,但一定要记住
勾选 ✅ 使用最高权限运行

添加任务计划

操作 -> 新建

添加任务计划

点 “浏览” 找到 cmd.exe 的路径
或者直接把以下路径粘贴过去

C:\Windows\System32\cmd.exe

添加任务计划

确认

应该能看见新建好的操作

添加任务计划

确认

现在找一下列表中有没有刚刚创建的计划任务
找到后右键 -> 运行 以确认能运行

添加任务计划

成功运行 CMD,并且是以管理员身份,而且没有弹出 UAC

添加任务计划

现在如果去菜单,双击 CMD。会以普通权限运行。
右键 -> 以管理员身份运行。依然弹出 UAC。
所以失败了吗?_(:з)∠)_

其实。。。只是打开方式不对
我们到随便一个目录,右键 -> 新建 -> 快捷方式

正确的打开方式

这里的路径就不能通过 “浏览” 来找了
直接复制下面的路径粘贴过去

schtasks.exe /run /tn "[刚刚创建的计划任务的名称]"

正确的打开方式

填上你喜欢的名字

正确的打开方式

完成

现在双击次快捷方式,就可以在不触发 UAC 的情况下以管理员身份运行了

下面就可以把次快捷方式丢到你喜欢的地方去,想以管理员身份运行 CMD 时,双击它就可以了
我一般把他放在 开始菜单 里,这样就可以从 开始菜单 或 Cortana 中启动了
按 Win键 + R,左下角会弹出一个对话框,在路径栏中粘贴(将[你的用户名]替换为你的用户名,不确定的可以去 C:\Users\ 路径下查看

C:\Users\[你的用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools

开始菜单启动

确定回车
把刚刚创建好的 快捷方式 丢进去

如果嫌快捷方式太丑,可以换图标。
右键刚刚创建的快捷方式 -> 属性 -> 更改图标\

更改图标

他会提示你 “不包含图标”,点确认。

更改图标

在路径栏中键入

C:\Windows\System32\cmd.exe

回车 列表里只有一个图标,选中它

更改图标

确认 -> 确认

这时两个 CMD 的图标就一样了,可以在 开始菜单 或 Cortana 中,按需启动。

Footnotes

  1. 上面已经解释过了,UAC 截不出来 _(:з)∠)_