我们有 Windows Sysinternals 提供的 PsService.exe 工具来启动或停止任何远程机器的服务。但是为了在我们的 C# 中使用这个 exe,我们需要使用从 C# 代码调用进程的传统方法。
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = @"C:\Path\PsService.exe";
p.StartInfo.Arguments = @"\\server64 restart spooler";
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
使用这种方法,我们几乎没有控制(异常处理、日志记录等)并且使用起来有点麻烦。是否有任何 C# 库我们可以通过它来实现相同的目标,而不是调用一个进程。
我做了一些谷歌搜索,但运气不佳。
这同样适用于其他工具,如 PsExec、PsKill 等