当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

作者:精品下载站 日期:2024-12-14 20:03:47 浏览:15 分类:玩电脑

如何在Windows 10中禁用特定应用程序的UAC提示?


在本文中,我们将展示如何有选择地禁用特定应用程序的 UAC,而不完全禁用用户帐户控制服务。考虑使用 RunAsInvoker 兼容性标志为一个应用程序关闭 UAC 的多种方法。

用户帐户控制要求用户确认任何需要管理员权限的操作。这是一种相当有效的机制,可以保护 Windows 免受多种威胁(病毒、特洛伊木马、蠕虫、rootkit 等)。一些用户觉得弹出的 UAC 窗口很烦人,他们更喜欢禁用此安全功能,尽管 Microsoft 和安全专家强烈建议不要这样做。

RunAsInvoker 标志允许您使用从父进程继承的标记来运行应用程序。这会取消应用程序清单的处理以及安装程序进程的发现。该参数不提供管理员权限,只是绕过UAC提示。

例如,我们将禁用注册表编辑器 (regedit.exe) 的用户帐户控制提示。尽管我的帐户具有本地管理员权限,但当我运行该实用程序时,仍然会出现 UAC 请求以确认启动。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

如果程序因为更改系统设置或文件而需要管理员权限,则禁用 UAC 后应用程序中的用户权限将不会提升。该程序仍将在当前用户权限下运行,如果您无权进行这些更改,该程序将无法进行这些更改。还有少数应用程序仅在“以管理员身份”模式下运行,忽略 RunAsInvoker 兼容性标志。

使用应用程序兼容性工具包禁用程序的 UAC

我们需要安装应用程序兼容性工具包,它是 Windows ADK 的一部分。在此处下载适用于 Windows 10 的最新版本的 Windows ADK。

运行 adksetup.exe 文件,并在安装过程中(该程序需要 Internet 连接),仅选择应用程序兼容性工具 项目

Microsoft 应用程序兼容性工具是一组免费的工具,用于在迁移到新的 Windows 版本时修复应用程序兼容性问题。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

系统中有两个版本的应用程序兼容性管理器 - 32位和64位。根据要禁用 UAC 请求的应用程序位数运行应用程序兼容性管理器的版本。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

使用管理员权限(!)运行兼容性管理器(32 位)。在自定义数据库节点中,右键单击新建数据库并选择新建 -> 应用程序修复

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

在下面的窗口中,输入应用程序的名称 (regedit)、供应商名称 (Microsoft) 和可执行文件的路径 (C:\Windows\System32egedit.exe)。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

下一步跳过配置向导的下一个窗口(兼容模式)。在兼容性修复窗口中,选中RunAsInvoker选项。

您可以通过按测试运行按钮来确保应用程序可以在没有UAC的情况下运行。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

匹配信息对话框中,您可以指定应检查哪些应用程序参数(版本、校验和、大小等)。我保留了 COMPANY_NAME、PRODUCT_NAME 和 ORIGINAL_FILENAME 选项的选中状态,以避免在下一次 Windows 10 更新后重新创建兼容性补丁文件。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

提示。为了防止黑客欺骗可执行文件,您可以在运行文件时请求额外的检查(例如,CHECKSUM、FILE_VERSION 或 FILE_SIZE 验证等)。需要注意的是,额外的检查会减慢应用程序的启动速度。

单击完成并指定兼容性修复包必须保存到的文件的名称,例如:例如,regedit.sdb。该文件将包含使用指定的兼容性选项启动应用程序的说明。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

现在您只需将兼容性修复包应用到我们的应用程序即可。您可以从兼容性管理员控制台(在菜单中选择安装)或从命令提示符来执行此操作。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

为此,请运行提升的命令提示符并执行以下命令:

sdbinst -q c:\ps\regedit.sdb

如果操作正确,则会显示软件包安装成功的消息。

Installation of regedit complete.

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

软件包安装后,相应的记录将出现在已安装的 Windows 程序列表(程序和功能)中。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

现在尝试在没有本地管理员权限的用户会话中运行该应用程序。现在它应该在没有 UAC 请求的情况下启动。

现在检查运行应用程序的权限。运行任务管理器,转到“进程”选项卡,添加“提升”列。确保 regedit.exe 进程是在非特权模式下从用户启动的(Elevated=No)。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

在这个注册表编辑器进程中,用户只能编辑自己的注册表项和参数。但是,如果您尝试在系统 HKLM 密钥中编辑/创建某些内容,则会出现错误:“您没有必要的权限”。

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

稍后可以使用组策略将此兼容性修复程序分发到所有用户计算机。因此,您可以禁用对 Active Directory 域中多台计算机上的特定应用程序的 UAC 检查。

要删除兼容性修复程序,请运行以下命令:

sdbinst -u c:\ps\regedit.sdb

通过注册表启用 RunAsInvoker 应用程序标志

您可以通过注册表在 Windows 10/8.1/7 中启用 RUNASINVOKER 兼容性标志。可以为单个或所有计算机用户设置应用程序兼容性标志。

例如,对于 regedit 应用程序,您需要在以下注册表项 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 中创建新的注册表参数 (REG_SZ):

  • 值名称:C:\windowsegedit.exe

  • 值数据:RunAsInvoker

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

如果要为所有本地计算机用户启用应用程序兼容模式,则需要在不同的注册表项中创建此参数:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers。

在域中,您可以通过 GPO 将这些注册表设置导入/部署给用户。

用于在 RunAsInvoker 模式下运行应用程序的批处理文件

还有另一种方法可以在没有管理员权限的情况下运行程序并绕过 UAC 提示(请参阅文章)。

只需使用以下代码创建一个 .bat 文件:

Set ApplicationPath="C:\windows\regedit.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"

[玩转系统] 如何在Windows 10中禁用特定应用程序的UAC提示?

当此bat文件在普通用户下运行时,指定的应用程序将在没有UAC提示的情况下启动。

因此,我们研究了如何在不完全禁用用户帐户控制的情况下禁用特定程序的 UAC。这将允许您在非管理员下运行 Windows 程序,无需 UAC 提示,也无需输入管理员密码。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯