我正在使用以下代码从我的 Web 应用程序执行 Windows 计划任务。 Web 应用程序和计划的应用程序都在同一台服务器上运行。
var proc = new Process
{
StartInfo =
{
UseShellExecute = false,
FileName = @"C:\Windows\System32\schtasks.exe",
Arguments = "/run /tn StartDataSync",
UserName = "admin123",
Password = passwd
}
};
proc.Start();
proc.WaitForExit();
现在我想从同一网络域中另一台机器上运行的 Web 应用程序运行相同的预定应用程序。当我研究时,我发现 我可以在/S 系统参数中指定我想要连接的远程计算机的名称或 IP 地址。所以我尝试了以下代码,但它不起作用。
var proc = new Process
{
StartInfo =
{
UseShellExecute = false,
FileName = @"C:\Windows\System32\schtasks.exe",
Arguments = "/run /S 192.168.5.202 /tn StartDataSync",
UserName = "admin123",
Password = passwd
}
};
proc.Start();
proc.WaitForExit();
最佳答案
试试这个答案..根据这个 post
using TaskScheduler;
using (TaskService tasksrvc = new TaskService(server.Name, login, domain, password))
{
Task task = tasksrvc.FindTask(taskName);
task .Run();
}
任务调度程序的 dll 可以在这里找到 https://github.com/dahall/taskscheduler
关于c# - 从 Web 应用程序运行计划任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23440749/