2015-12-10 41 views
3

我试图以系统帐户身份运行我的c#exe文件。我怎样才能做到这一点。我试过<requestedExecutionlevel level="requireAdministrator"> and <requestedExecutionlevel level="requireSystem">管理员正在工作,但第二个不工作。以系统帐户身份运行exe文件

请帮我一下,我该怎么做。

+0

此主题也可以帮助您:http://stackoverflow.com/questions/2818179/how-to-force-my-net-app-to-run-as-administrator-on-windows-7 – mwilson

+0

@mwilson是的,我试过了,它的工作。但我希望它使用SYSTEM运行。就像如果我去任务栏的细节,它应该显示系统作为exe的用户名。 –

+0

出于好奇,你想要做什么,你的可执行文件需要SYSTEM权限而不仅仅是管理员权限? –

回答

-1

嗨我找到了解决方案。如果你真的希望你的exe作为系统帐户运行,你需要创建一个windows服务并以本地系统帐户启动它。你将能够看到一个exe和系统帐户用户一起在任务管理器上运行。 这就是我需要知道的。

+0

这就是其他回答和评论说 –

+0

如果你在谈论我必须知道这个答案的提示,请参阅@scott的最新评论 –

5

据我所知,您不能强制您的应用程序以SYSTEM身份运行。您的应用程序必须是服务,并且服务设置为以系统身份运行,或者您必须使用PsExec之类的工具以系统的身份启动可执行文件。

psexec.exe -i -s YourProgram.exe 

当使用requestedExecutionlevel只有3个有效选项

  • requireAdministrator - 提示UAC总是(即使用户不是管理员)。
  • asInvoker - 永不提示输入UAC。
  • highestAvailable - 如果用户是Administrators组的成员,则提示输入UAC,但如果用户不是该组的成员,则不提示并以普通用户身份运行。
1

这不是直接可能。如果你是一个管理员(比如从一个已经运行的服务中获取安全令牌或者其他东西),但是我还是不推荐使用这些方法。

SYSTEM帐户的要点恰恰在于:它只能由系统直接运行。

如果你想要一个容易哈克路不使用第三方工具(如psexec),你可以建立一个ONEEVENT计划任务(schtasks,这是操作系统的一部分),它的确可以在系统运行帐户。这仍然需要两个进程(虽然它可能与用于任务的不同命令行参数以及设置它的相同exe),但它可以工作。

相关问题