如何阅读凭据/UAC 提示中的文本?

问题描述 投票:0回答:1

有没有办法读取凭据/UAC 提示中的文本?目的是识别导致UAC提示的应用程序名称。

在此附图中,提示显示启动它的应用程序的名称(在本例中为 Outlook)。如何使用 PowerShell 或任何脚本识别应用程序源?已经尝试阅读审核日志(事件 4688),这很有用。但是,这并不能具体缩小 UAC 提示的来源。

Credential / UAC Prompt

powershell uac windows-11
1个回答
0
投票

可以做到;但你不应该。

通常,UAC 提示显示在安全桌面上,以便应用程序无法读取/写入/以编程方式按下提示按钮(因为这会破坏整个点)

但是为了屏幕阅读器等的目的,您可以做一些事情:

  • 首先您必须提交申请
    uiAccess
  • 但为了让 Windows 尊重该清单标志
  • 应用程序必须从“受保护的位置”运行(例如
    Program Files
  • 并且必须经过数字签名

最重要的是,用户界面权限隔离 (UIPI) 可防止“中”完整性进程尝试将消息(例如

WM_MOUSEDOWN
WM_GETTEXT
)发送到“高”完整性 UAC 窗口

但是,如果监视 UAC 提示屏幕的程序(在程序文件中运行,启用了

uiAccess
)也以 管理员 身份运行,那么您可以通过编程方式发送
WM_GETTEXT
消息。

但是做正确的事

不要等待已显示为

requireAdministrator
的应用程序在启动时显示 UAC 提示:将其清单更改为运行
asInvoker

这样它就不会以管理员身份运行。

© www.soinside.com 2019 - 2024. All rights reserved.