【问题标题】:Is it possible silently run something as Administrator是否可以以管理员身份静默运行某些东西
【发布时间】:2011-03-13 11:11:32
【问题描述】:

如何在 Vista 和 Windows 7 中欺骗 UAC? 我如何运行不仅需要管理员权限的东西,而且特别是必须被告知以管理员身份运行的东西。 我尝试使用给定的管理员凭据启动进程,甚至尝试使用 win32 函数 CreateProcessAsUser,但除非我手动告诉它“以管理员身份运行”,否则它不会以完全管理员权限运行。 如何。如果没有那个该死的愚蠢的 UAC 对话框,我怎么会默默地运行它呢?

【问题讨论】:

  • 您是在询问以编程方式执行此操作吗?我不是想成为一个混蛋,但从你的措辞来看,我真的不确定。如果你不是,这个问题比 Stack Overflow 更适合超级用户。
  • @Lord Torgamus,他的意思是 CreateProcessAsUser,这对我来说听起来很编程。不过,他可能会更详细。
  • @Sam 感谢您的支持。我正在尝试从我的代码启动一个进程,该进程需要完整的管理员权限。但是我在我的机器上工作并且我已经拥有管理员权限,仍然需要手动指示那个该死的东西“以管理员身份运行”。我需要静默运行。

标签: windows-7 uac windows-vista isolation-level createprocessasuser


【解决方案1】:

您需要将其安装为服务。它将作为具有完全管理员权限的 SYSTEM 运行。您需要在应用中创建一些挂钩来响应启动停止和重启事件。

如果您不关心程序是否需要响应服务事件,您可以使用SC.exe or Srvinstw.exe 将任何可执行文件安装为服务。\

编辑 我不认为你能做到这一点。要以提升的权限运行 exe,它必须由 Microsoft 进行数字签名。您也许可以use a trick 将您的可执行文件设为 DLL 并使用 rundll32.exe 运行它(具有提升的权限并由 MS 签名)。我认为微软不希望任何东西在 UAC 开启时静默运行。

【讨论】:

  • 如何使用 Process.Start() 以本地系统权限运行?
猜你喜欢
  • 1970-01-01
  • 2023-03-07
  • 2011-08-10
  • 1970-01-01
  • 2020-07-14
  • 2012-05-06
  • 1970-01-01
  • 1970-01-01
  • 2016-09-20
相关资源
最近更新 更多