0

我有一台运行多个虚拟机的主机,在每个虚拟机上运行一个服务,该服务在本地运行良好,但是当我尝试从主机远程执行它时,我被拒绝访问。我已经在谷歌搜索了一段时间,模拟不起作用,因为主机帐户与虚拟机帐户非常不同。我使用以下代码启动远程服务。

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

现在我的问题是:有没有办法对我的 C# 应用程序进行身份验证,以便它可以通过例如提供该机器的用户凭据来启动远程服务?

4

1 回答 1

0

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

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

但它很丑。

于 2013-05-31T10:50:21.160 回答