如何拒绝提升程序?

Ian*_*oyd 12 windows-vista privileges elevation uac

Windows 是否有“自动拒绝提升请求”列表?

如果用户是“标准用户”,则可以通过将组策略设置更改为自动拒绝提升请求来让 Windows自动拒绝任何提升请求ConsentPromptBehaviorUser

  • Prompt for credentials on the secure desktop.默认)当操作需要提升权限时,安全桌面上会提示用户输入不同的用户名和密码。如果用户输入有效凭据,操作将继续使用适用的权限
  • Prompt for credentials当操作需要提升权限时,系统会提示用户输入管理用户名和密码。如果用户输入有效凭据,操作将继续使用适用的权限
  • Automatically deny elevation requests当操作需要提升权限时,会显示可配置的拒绝访问错误消息。以标准用户身份运行桌面的企业可以选择此设置以减少帮助台呼叫

这在程序可能会提示提升的情况下很有用,但这需要帮助台的人运行三座建筑物(输入他们的过肩凭证)。只有到了那里,他们才发现用户不应该运行该程序。

我们希望应用程序以标准用户身份运行(可能会出现拒绝访问错误),因为这是正确的答案。

但该设置适用于所有提升的程序。是否有可能

  • 标记一个程序,或
  • 将其添加到列表中

以便自动拒绝提升请求,并以标准用户身份运行?

当程序错误时会出现问题:

  • 标记为requestedExecutionLevelrequireAdministrator在其嵌入或外部清单
  • 已选中“以管理员身份运行此程序”兼容性选项
  • 通过启发式检测被检测为安装程序(例如,被命名为installsetupEnableInstallerDetection

注意: 假设应用程序没有清单,人们可能会建议添加一个清单,指示requestedExecutionLevel: asInvoker. 此解决方案还将禁用应用程序的文件和注册表虚拟化。

也可以看看

Jer*_*y W 4

一种可能的解决方案是同时使用两种策略:

  1. 将已经提到的ConsentPromptBehaviorUser组策略设置配置为“自动拒绝提升请求”。正如问题中所述,这将影响所有运行的程序。

  2. 接下来启用用户帐户控制:仅提升经过签名和验证的策略设置的可执行文件。(来自 Microsoft)此设置对请求特权提升的任何交互式应用程序强制执行公钥基础设施 (PKI) 签名检查。企业管理员可以通过将证书添加到本地计算机上的受信任发布者证书存储来控制允许运行哪些应用程序。

  3. 使用组织的密钥对任何受信任的程序进行签名,并将其发布到组织中所有计算机上的受信任的发布者证书存储区。更多信息。