【发布时间】:2013-10-15 06:23:38
【问题描述】:
我在从系统帐户启动进程时遇到问题。我只是想明确一点,我不是试图在交互式会话下运行它,也不是试图冒充任何帐户。我要做的就是从系统帐户启动一个进程到同一个会话中。我相信 NTAUTHORITY\SYSTEM 所在的会话是 0 。
我创建了一个简单的 Windows 服务,它基本上只是使用 Process.start 来启动可执行文件。该服务是一项系统服务。
我是这样使用 SC 安装服务的:
sc create "MYSERVICE" binpath= "C:\Projects\MyService\MyService.exe" displayname= "My Awesome Service"
当我尝试手动启动该服务时,我收到一条提示“本地计算机上的 ServiceName 服务已启动然后停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。”
除此之外,可执行文件从未真正启动。在 processhacker 中监视它时,我可以看到该服务确实启动了,但它尝试的可执行文件没有。谁能帮我弄清楚为什么?
正如我之前所说,我的服务非常基础,它所做的只是在启动时尝试启动可执行文件:
protected override void OnStart(string[] args)
{
Process.Start("svrexec.exe");
}
protected override void OnStop()
{
}
【问题讨论】:
-
对this question的答案有帮助吗?
标签: c# .net windows windows-services