C#在虚拟机上启动远程服务

时间:2013-05-31 09:55:02

标签: c# service virtual-machine servicecontroller

我有一个运行多个虚拟机的主机,在每个虚拟机上运行一个本地工作正常的服务但是当我尝试远程执行它时,我得到了拒绝。 我已经搜索谷歌一段时间了,模仿不起作用,因为主机帐户与虚拟机帐户非常不同。 我使用下面的代码来启动远程服务。

ServiceController sc = new ServiceController("ExecuterService", "servername");
sc.Start(id);

现在我的问题是:有没有办法验证我的C#应用​​程序,以便它可以启动远程服务,例如只是为该机器提供用户凭据?

1 个答案:

答案 0 :(得分:0)

如果主机应用程序具有正确的访问权限,那么您可以解决方法并使用进程调用.NET控制台命令:

ProcessStartInfo processInfo = new ProcessStartInfo("NET", "start ExecuterService");
Process process = Process.Start(processInfo);
p.WaitForExit();

但它太丑了。