2013-10-08 10 views
8

Come è possibile avviare un'attività pianificata che non è memorizzata localmente ma su un altro computer della rete, utilizzando C#?Avvio di un'operazione pianificata remota

Sembra che non sia possibile determinare il percorso dell'attività di pianificazione. Inoltre ho solo bisogno di avviare l'attività. Non ho bisogno di aspettare che finisca e non ho bisogno di alcuna gestione degli errori. Basta eseguire l'operazione.

+0

Probabilmente è possibile utilizzare l'utilità [PsExec] (http://technet.microsoft.com/en-us/sysinternals/bb897553) da PsTools Suite – Steve

risposta

11

Installare il pacchetto NuGet: Task Scheduler Managed Wrapper e quindi è possibile utilizzare:

using Microsoft.Win32.TaskScheduler; 

using (TaskService tasksrvc = new TaskService(server.Name, login, domain, password)) 
{ 
    Task task = tasksrvc.FindTask(taskName); 
    task .Run();  
} 
+0

. Lo spazio dei nomi Microsoft.Win32.TaskScheduler non esiste. È forse in un'altra versione .Net? –

+0

Oh, mio ​​male, ho completamente dimenticato che non era una libreria nativa. Viene da qui: http://taskscheduler.codeplex.com/ – C4stor

+0

Ancora TaskService non esiste. Sto facendo qualcosa di sbagliato? –

-3

Non funziona perché si sta perdendo le staffe di chiusura utilizzando

using (TaskService tasksrvc = new TaskService("server.Name", "login", 
                  "domain", "password")) 
{     
    Task task = tasksrvc.FindTask("taskname"); 
    task.Run();  
} 

Grazie.