远程服务器上的任务计划程序C#

时间:2015-04-16 14:50:19

标签: c# com scheduled-tasks

我正在尝试从远程服务器安排所有任务。 我使用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());
    }
}

有了这个,我在自己的工作站上完成了所有任务,但我不知道如何在远程服务器上使用它。

1 个答案:

答案 0 :(得分:1)

我用错了方法......我的坏

这项工作:

var ts = new TaskService(Server, username, domain, password);
foreach (Task task in ts.RootFolder.Tasks)
{
   //do things
}