我想知道是否有办法启动作为内置服务帐户之一运行的流程?我想开始托管代码的过程。我想使用其中一个内置服务帐户(LocalService,NetworkService,LocalSystem)。
答案 0 :(得分:0)
我认为您可以使用psexec作为中介来启动LocalSystem(aka System)帐户下的流程:
在系统帐户中以交互方式运行Regedit,以查看SAM和SECURITY密钥的内容:
psexec -i -d -s c:\windows\regedit.exe
但我想不出在其他账户下推出的方法。关于我能想到的唯一间接方式就是让服务已经在相应的帐户下运行,然后连接到它(通过例如远程处理,管道,WCF,适用于你的任何工作)并要求它启动新进程。
当然,在这种情况下,新进程无法与桌面交互,因此如果您需要,那么您仍然会运气不好。
答案 1 :(得分:0)
我认为你只能在另一个服务的上下文中执行此操作(或者只是作为LocalSystem运行就足够了);在这种情况下,您可以使用LogonUser()来获取令牌。或者,您可以尝试查找在所需帐户下运行的现有服务并复制其令牌(假设您具有相应的访问权限)。