我正在尝试从远程服务器安排所有任务。 我使用TaskScheduler 1.1 Type Library作为COM引用。 有我试过的:
TaskSchedulerClass ts = new TaskSchedulerClass();
ts.Connect(Current_Server, username, domain, password);
IRunningTaskCollection tasks = ts.GetRunningTasks(1);
Console.WriteLine(tasks.Count.ToString());
foreach (IRunningTask task in tasks)
{
Console.WriteLine(task.Name);
}
此次运行,但我没有在控制台中获得任何任务。
我试过的另一种方法是使用这个包装器:http://taskscheduler.codeplex.com/
以下是我用于此解决方案的代码:
class Task_Get_All_Task
{
public void EnumAllTasks()
{
using (TaskService ts = new TaskService())
EnumFolderTasks(ts.RootFolder);
}
private void EnumFolderTasks(TaskFolder fld)
{
foreach (Task task in fld.Tasks)
ActOnTask(task);
foreach (TaskFolder sfld in fld.SubFolders)
EnumFolderTasks(sfld);
}
private void ActOnTask(Task t)
{
Console.WriteLine(t.Name.ToString());
}
}
有了这个,我在自己的工作站上完成了所有任务,但我不知道如何在远程服务器上使用它。
答案 0 :(得分:1)
我用错了方法......我的坏
这项工作:
var ts = new TaskService(Server, username, domain, password);
foreach (Task task in ts.RootFolder.Tasks)
{
//do things
}