【问题标题】:Disabling UAC with Powershell使用 Powershell 禁用 UAC
【发布时间】:2017-11-08 14:12:18
【问题描述】:

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

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

我也尝试过在末尾添加-Force

此代码具有将 UAC 设置为最小的预期效果,但也具有阻止内置 Windows 应用程序(包括 Edge)运行的不良效果,返回无法使用内置管理员运行应用程序的错误帐户(尽管它是使用一个简单地禁用了 UAC 的用户帐户运行的)。

因此,如果有人对为什么会发生这种情况以及如何解决它有一些见解,那将是理想的。如果做不到这一点,如果我可以运行另一个 Powershell 命令来禁用 UAC,那么这也值得一试。

【问题讨论】:

  • 所以你问的不是禁用 UAC,而是为什么禁用 UAC 时 Edge 不起作用?
  • @Matt 特别是,为什么通过该 Powershell 行禁用 UAC 时 Edge 不起作用。通过 GUI 禁用一切正常,但我需要自动在大量机器上远程运行。
  • @AnsgarWiechers 感谢您的链接 - 这让我更好地了解正在发生的事情。实际上,我的 Powershell 行将 UAC 设置为 0(我的编号),而 GUI 的最低设置是 1(这是我需要的)。

标签: powershell uac


【解决方案1】:

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

通过 GPO,如果您启用“管理员批准模式”,您将能够在没有 UAC 的情况下启动应用程序,但这也有一些缺点。

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

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

【讨论】:

  • 谢谢尼克。根据我对文章及其 cmets 的理解,可以通过 Set-ItemProperty -Path REGISTRY::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System -Name FilterAdministratorToken -Value 1 启用管理员批准模式,但不幸的是,这似乎并不能解决我的问题。你提到的缺点是什么?
  • 对不起,我不应该说缺点。相反,它只是超级烦人。如果已启用,即使您以本地管理员身份登录,系统也会提示您需要提升的所有内容。所以你可以很好地打开 Edge 和 Calculator 之类的东西,但是 regedit、certmgr、gpedit 都需要你输入凭据。
  • 感谢您的澄清。这并不理想 - 首先禁用 UAC 的主要目的是避免所有提示。我想我只需要设计一个 Powershell 行来将级别设置为“低”/“从不通知”,如此处所述gallery.technet.microsoft.com/scriptcenter/…
【解决方案2】:

看起来这成功了:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多