【问题标题】:Elevating privileges for UAC using manifest open new console window使用清单打开新控制台窗口提升 UAC 的权限
【发布时间】:2009-02-24 21:47:08
【问题描述】:

我正在编写一个控制台工具。如果没有提升 UAC 支持(清单文件)的权限,从命令提示符 (cmd.exe) 或控制台文件管理器(如 far.exe)调用此工具会在同一个窗口,将其输出写入同一个窗口,等等。

但是现在,当manifest file was added 时,在UAC 请求对话框之后为工具创建了一个新的控制台窗口,因此工具的输出被写入那里,并且窗口关闭。这种工具没有任何目的是控制台。

如何解决这个问题?有什么解决方法?

【问题讨论】:

    标签: .net console uac manifest


    【解决方案1】:

    据我所知,没有办法“解决”这个问题。此行为是设计使然,旨在确保您提升的任何命令行工具不受非提升命令行中任何路径修改的影响。

    这个想法是,在正常的一天工作中,人们在他们的机器上运行任何程序。这些程序可能会修改用户的路径,例如将包含名为 reg.exe 的恶意程序的文件夹放在 c:\windows\system32 之前。然后,用户运行一个需要提升的管理工具,该工具调用 reg.exe 而不指定路径,瞧——你已经拥有了。

    您真的应该考虑将工具的输出保存到日志文件中。或者,您可以分两部分开发该工具 - 不需要提升的控制台工具和需要提升的 COM 进程外服务器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-30
      • 2019-05-06
      • 2011-04-07
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 2012-07-27
      • 2010-12-26
      相关资源
      最近更新 更多