使用 Powershell 禁用 UAC

Disabling UAC with Powershell

我正在尝试使用 Powershell 禁用 UAC(即设置为最低级别)。所以我 运行ning:

Set-ItemProperty -Path REGISTRY::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLUA -Value 0

我也尝试过在最后添加 -Force

此代码具有将 UAC 设置为最小值的预期效果,但也具有阻止内置 Windows 应用程序(包括 Edge)进入 运行ning 的不良效果,返回一个错误,该应用程序不能 运行 使用内置管理员帐户(尽管它 运行 使用仅禁用 UAC 的用户帐户)。

因此,如果有人对发生这种情况的原因以及解决方法有所了解,那将是理想的选择。如果做不到这一点,如果有替代的 Powershell 命令我可以 运行 禁用 UAC 那么这也值得一试。

这是 Windows 10 和 Windows 8 特有的问题。您不能拥有 Minimal/No UAC 并成为计算机的本地管理员。这实际上不仅影响 Edge,还包括计算器等所有现代应用程序。这是由于安全风险而更改的,因为 运行 浏览器作为管理员实际上是一件非常糟糕且不安全的事情。查看 this 文章了解更多信息

通过 GPO,如果您启用 "Admin Approval Mode",您将能够在没有 UAC 的情况下启动应用程序,但这也有一些缺点。

在我的公司,我们将其放入特定 OU 的 GPO 中,并将所有 Win10/Win8 设备放入其中,以便管理员批准影响尽可能少的设备。

您注意到它在被 GUI 禁用时有效,因为您无法使用 GUI 完全禁用 UAC,唯一的方法是使用注册表项。因此,即使您认为您是通过 GUI 禁用它,但您并没有完全禁用它。

看起来成功了:

Set-ItemProperty -Path REGISTRY::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System -Name ConsentPromptBehaviorAdmin -Value 0

重启后 Edge 仍然 运行 并且烦人的 UAC 提示消失了,所以认为这是一个胜利。