我想在我的应用程序中运行一个命令,它将关闭局域网中的另一台计算机,我用过:
string CmdText = "shutdown -m \\192.168.1.5 -r -c \"Will shutdown\" -t 10";
Process.Start("cmd", CmdText);
但它不起作用:( cmd窗口出现但没有任何反应,计算机没有关闭。
当我尝试时(例如):
string CmdText = "dir";
Process.Start("cmd", CmdText);
有效。
这是什么问题?
答案 0 :(得分:4)
直接运行流程,而不使用cmd
:
Process.Start("shutdown", "-m \\\\192.168.1.5 -r -c \"Will shutdown\" -t 10");
不要忘记逃避服务器名称的\
。另外,以管理员身份启动该过程:
ProcessStartInfo startInfo = new ProcessStartInfo("shutdown", "-m \\\\192.168.1.5 -r -c \"Will shutdown\" -t 10");
startInfo.Verb = "runas";
Process.Start(startInfo);