C#启动计划任务

我正在尝试在c#中编写一个简单的表单,它将在某些计算机上运行计划任务。 到目前为止我是:

private void button_Click(object sender, EventArgs e) { try { for (int i = 0; i < num_of_computers; i++) { string line; line = (" /run /tn myTask /s " + _ReplacerObj.MyComputers[i] + " /u user s /p password"); proc.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized; proc.FileName = @"C:\WINDOWS\SYSTEM32\schtasks.exe"; proc.Arguments = line; Process.Start(proc); } } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error Message!"); } 

由于某种原因,这不起作用(IE – 计划任务没有启动)。 我尝试从cmd运行:

 c:\windows\system32\schtasks.exe /run /tn myTask /s myIp /u user /p password 

它工作得很好。 有什么建议? 谢谢!

我建议使用其中一个.NET包装器来完成任务调度程序。

我过去使用过这个效果很好。

我使用以下工作正常,可能有帮助(插入您的参数)

 var p = new Process { StartInfo = { UseShellExecute = false, FileName = "SCHTASKS.exe", RedirectStandardError = true, RedirectStandardOutput = true, CreateNoWindow = true, WindowStyle = ProcessWindowStyle.Hidden, Arguments = arguments } }; p.Start(); 

使用Microsoft.Win32.TaskScheduler;

 using (TaskService tasksrvc = new TaskService(@"\\" + servername, username, domain, password, true)) { Task task = tasksrvc.FindTask(taskSchedulerName); task.Run(); }