无法使用 C# 代码和 PsExec 启动/停止 Windows 服务?
Process process = new Process();
ProcessStartInfo psi = new ProcessStartInfo(@"C:/PsExec.exe");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.RedirectStandardInput = true;
psi.WindowStyle = ProcessWindowStyle.Minimized;
psi.CreateNoWindow = true;
psi.Arguments = "PsExec \\\\Newton -u Administrator -p Password IISReset /stop";
process.StartInfo = psi;
process.Start();
以上是我的代码。我无法从 C# 代码停止 IIS,但如果我
执行PsExec \\\\Newton -u Administrator -p Password IISReset /stop
,我可以停止它。
直接在命令提示符下
Process process = new Process();
ProcessStartInfo psi = new ProcessStartInfo(@"C:/PsExec.exe");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.RedirectStandardInput = true;
psi.WindowStyle = ProcessWindowStyle.Minimized;
psi.CreateNoWindow = true;
psi.Arguments = "PsExec \\\\Newton -u Administrator -p Password IISReset /stop";
process.StartInfo = psi;
process.Start();
The above is my code. I am not able to stop the IIS from the C# code, but if I execute
PsExec \\\\Newton -u Administrator -p Password IISReset /stop
directly in command prompt, I can stop it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您不需要在参数中再次使用“PsExec”,即:
You don't need the "PsExec" again in the arguments, ie.:
有什么原因不能使用 ServiceController 类吗?
如果您需要模拟相关服务器的用户,您可以使用此类:
}
Chris
Any reason you can't use the ServiceController class?
If you need to impersonate a user for the server in question, you can use this class:
}
Chris