Advertisement
Guest User

Untitled

a guest
Nov 11th, 2010
863
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.57 KB | None | 0 0
  1. using System;
  2. using System.Diagnostics;
  3. using System.Linq;
  4. using Task = TaskScheduler;
  5.  
  6. namespace Monitor
  7. {
  8.     public class Program
  9.     {
  10.         public static void Main(string[] args)
  11.         {
  12.             var monitor = new Monitor();
  13.             var task = monitor.GetScheduledTask("First task", "10.18.16.12");
  14.             var process = monitor.IsProcessRunning("QueueProcessor", "10.18.16.13");
  15.  
  16.             Console.WriteLine("Done");
  17.             Console.ReadLine();
  18.         }
  19.     }
  20.  
  21.     public class Monitor
  22.     {
  23.         public bool IsProcessRunning(string processName)
  24.         {
  25.             var processes = Process.GetProcesses();
  26.  
  27.             // Find any running process by name
  28.             var runningProcess = processes.Any(p => p.ProcessName == processName);
  29.  
  30.             return runningProcess;
  31.         }
  32.  
  33.         public bool IsProcessRunning(string processName, string machine)
  34.         {
  35.             var processes = Process.GetProcesses(machine);
  36.  
  37.             // Find any running process by name
  38.             var runningProcess = processes.Any(p => p.ProcessName == processName);
  39.  
  40.             return runningProcess;
  41.         }
  42.  
  43.         public ScheduledTask GetScheduledTask(string taskName, string machine)
  44.         {
  45.             var scheduler = new Task.TaskScheduler();
  46.             scheduler.Connect(machine);
  47.  
  48.             if(scheduler.Connected)
  49.             {
  50.                 var folder = scheduler.GetFolder("");
  51.                 var task = folder.GetTask(taskName);
  52.  
  53.                 if (task == null)
  54.                     throw new ScheduledTaskNotFoundException(taskName, machine);
  55.  
  56.                 return new ScheduledTask(task.Name, task.Enabled, task.LastRunTime, task.LastTaskResult);
  57.             }
  58.            
  59.             // Task was not found
  60.             throw new Exception("Could not connect to task scheduler on machine " +  machine);
  61.         }
  62.     }
  63.  
  64.     public class ScheduledTask
  65.     {
  66.         public ScheduledTask(string name, bool enabled, DateTime lastRunTime, int lastResult)
  67.         {
  68.             Name = name;
  69.             Enabled = enabled;
  70.             LastRunTime = lastRunTime;
  71.             LastResult = lastResult;
  72.         }
  73.  
  74.         public string Name
  75.         {
  76.             get;
  77.             private set;
  78.         }
  79.  
  80.         public bool Enabled
  81.         {
  82.             get;
  83.             private set;
  84.         }
  85.  
  86.         public DateTime LastRunTime
  87.         {
  88.             get;
  89.             private set;
  90.         }
  91.  
  92.         public int LastResult
  93.         {
  94.             get;
  95.             private set;
  96.         }
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement