我正在寻找一种方法来强制 Windows 7 上的任何程序在没有管理员权限的情况下运行。如果程序确实需要管理员权限,它可能会抛出错误或崩溃。这是可以接受的。
我特别想要阻止的是那些要求管理员权限才能运行但实际上在正常权限模式下可以正常运行的程序。
我在互联网上搜索了超过 20 次,但找到的都是关于程序清单的毫无结论的垃圾信息(而且完全没有关于如何更改清单以删除管理员权限请求的帮助或说明)。
因此,此题的答题规则如下:
- 解决方案必须从程序图标中删除 UAC“盾牌”标记。
- 该程序不得因任何原因试图获取提升的权限。
- 禁止禁用或尝试规避 UAC。
- 如果删除了管理员权限请求的程序需要执行任何需要管理员权限的操作,则允许其崩溃或抛出错误。我宁愿让程序崩溃或抛出错误,也不愿赋予程序不需要的提升权限。
顺便说一句,我想说 Windows Vista/7 UAC 在设计上存在缺陷,不利于更安全地使用计算机,因为它对普通用户帐户的限制太多,程序可以请求管理员权限,即使这些权限不是必需的。这只会鼓励普通/非高级用户做一些愚蠢的事情,比如以管理员身份运行所有程序或禁用 UAC,这会让他们的计算机面临更大的风险。
正确的解决方案是完全重新制定 UAC“管理员权限”定义,将“管理员权限”定义为仅能真正损坏您的计算机的内容,例如引导扇区更改、BIOS 更改、操作系统/Windows 文件夹更改、启动程序更改等。没有任何正当理由仅仅为了将某些内容添加到 Program Files 而要求管理员权限。
我更喜欢 Linux 的方法,即运行一个程序,如果它崩溃或中断,则使用 sudo 运行它。
注意:我已经找到了这个 强制程序在没有管理员权限或 UAC 的情况下运行?
并且没有一个解决方案有用。这个问题只是变成了没有结论的闲聊和不准确/不正确的“解决方案”。