2015-04-16 81 views
0

我試圖從遠程服務器獲取所有計劃的任務。 我使用TaskScheduler 1.1類型庫是一個COM參考。 有我的嘗試:遠程服務器上的任務計劃程序C#

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

你只訪問正在運行的任務,與GetRunningTasks。但似乎你想訪問所有註冊任務 https://technet.microsoft.com/en-us/subscriptions/index/aa446864%28v=vs.85%29.aspx: –

+0

我只想獲得所有預定在.csv文件中獲取其名稱和描述的任務。 –

回答

1

我用了錯誤的方式...我的壞

這項工作:

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