当我以未提升的管理员身份在 Windows 7 中启动命令行时,它默认具有管理员权限,即无需单击“以管理员身份运行”选项。
但在 Windows 8 未提升管理员权限的用户中,它会在没有管理员权限的情况下启动它。
我检查了一下,Windows 7 提升管理员权限已被禁用。
差异的结果是,我无法cmd
从 Java 应用程序运行命令,因为我收到“拒绝访问”错误。但是在 Windows 7 中它可以正确执行命令。
这与关闭 UAC 无关,因为我已经尝试过了。
如何让 Windows 8 在未提升的管理员用户下默认以管理员权限运行 cmd?
答案1
您正在使用一个错误的前提:自 Vista 以来的所有 Windows 操作系统在正常情况下都不会在没有 UAC 提示的情况下提升命令提示符。
无需额外提示即可获得提升的命令提示符的典型情况包括:
- 当 UAC 被关闭时。
- 当您登录不受 UAC 影响的帐户时(即名为 的内置帐户
Administrator
,默认情况下处于禁用状态)。Administrators
组中的所有其他帐户通常处于中等完整性级别,并能够在自己的帐户下提升到高完整性级别 - 即没有密码提示但有 UAC 确认。 - 当您先前通过一种典型方法配置了自动提升时,例如计划任务(使用快捷方式启动任务)或为您启动程序的服务。
在用户权限级别和 UAC 提升方面,Windows 8 的行为与 Windows 7 完全相同。
答案2
如果您在 Windows 7 中将 UAC 控制滑块移至底部,则 UAC 将被关闭,而在 Windows 8 中将其移至底部仍会保持 UAC 处于打开状态。这是运行新商店应用所必需的。商店应用的沙盒基于 UAC。
这就是为什么你会看到不同的行为。