<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>Task Scheduler Managed Wrapper</title><link>http://taskscheduler.codeplex.com/project/feeds/rss</link><description>This project provides a single assembly wrapper for the 1.0 and 2.0 versions of Task Scheduler found in all Microsoft operating systems post Windows 98. It simplifies the coding, aggregates the multiple versions, provides an editor and allows for localization support.</description><item><title>New Post: Task schedular OXFF Error  </title><link>http://taskscheduler.codeplex.com/discussions/430046</link><description>&lt;div style="line-height: normal;"&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
I am also facing the similar situation where the scheduled task ends with 0Xff in the last result. When I run the script alone it is working fine. but I am facing issue only when I run with the task scheduler. And the script is not completing successfully. Can any one please help me on this.&lt;br /&gt;
&lt;/div&gt;</description><author>Niveditha</author><pubDate>Tue, 21 May 2013 15:05:16 GMT</pubDate><guid isPermaLink="false">New Post: Task schedular OXFF Error   20130521030516P</guid></item><item><title>New Comment on "Examples"</title><link>https://taskscheduler.codeplex.com/wikipage?title=Examples&amp;ANCHOR#C27535</link><description>sisir14, please see note on prefacing Action references on this page with &amp;#39;Microsoft.Win32.TaskScheduler&amp;#39;</description><author>dahall</author><pubDate>Mon, 20 May 2013 15:49:12 GMT</pubDate><guid isPermaLink="false">New Comment on "Examples" 20130520034912P</guid></item><item><title>Updated Wiki: Examples</title><link>https://taskscheduler.codeplex.com/wikipage?title=Examples&amp;version=11</link><description>&lt;div class="wikidoc"&gt;Below are some examples of how to use most of the functions of the library:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="#remote"&gt;Connecting to a remove server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#editor"&gt;Using the editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#simple"&gt;Simple example&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#enum"&gt;Enumerate all tasks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#complex"&gt;Complex example&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#history"&gt;Task history example&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;i&gt;&lt;b&gt;On all these examples, if you get an error on ambiguous references for &amp;#39;Action&amp;#39;, please preface it with &amp;#39;Microsoft.Win32.TaskScheduler.Action&amp;#39;.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;You can also go to these pages for more sample code:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="https://taskscheduler.codeplex.com/wikipage?title=TriggerSamples&amp;referringTitle=Examples"&gt;Trigger Example Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://taskscheduler.codeplex.com/wikipage?title=ActionSamples&amp;referringTitle=Examples"&gt;Action Example Code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;Connecting to a remote server&lt;/b&gt;&lt;a name="remote"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;// Connect to the computer &amp;quot;REMOTE&amp;quot; using credentials&lt;/span&gt;
TaskService ts = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; TaskService(&lt;span style="color:#A31515;"&gt;&amp;quot;\\REMOTE&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;myusername&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;MYDOMAIN&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;mypassword&amp;quot;&lt;/span&gt;);
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Using the editor&lt;/b&gt;&lt;a name="editor"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;// Get the service on the local machine&lt;/span&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; (TaskService ts = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; TaskService())
{
   &lt;span style="color:Green;"&gt;// Create a new task&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;const&lt;/span&gt; &lt;span style="color:Blue;"&gt;string&lt;/span&gt; taskName = &lt;span style="color:#A31515;"&gt;&amp;quot;Test&amp;quot;&lt;/span&gt;;
   Task t = ts.AddTask(taskName, 
      &lt;span style="color:Blue;"&gt;new&lt;/span&gt; TimeTrigger() { StartBoundary = DateTime.Now + TimeSpan.FromHours(1), Enabled = &lt;span style="color:Blue;"&gt;false&lt;/span&gt; },
      &lt;span style="color:Blue;"&gt;new&lt;/span&gt; ExecAction(&lt;span style="color:#A31515;"&gt;&amp;quot;notepad.exe&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;c:\\test.log&amp;quot;&lt;/span&gt;, &amp;quot;C:\\&amp;quot;));

   &lt;span style="color:Green;"&gt;// Edit task and re-register if user clicks Ok&lt;/span&gt;
   TaskEditDialog editorForm = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; TaskEditDialog();
   editorForm.Editable = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
   editorForm.RegisterTaskOnAccept = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
   editorForm.Initialize(t);
   &lt;span style="color:Green;"&gt;// ** The four lines above can be replaced by using the full constructor -- TaskEditDialog(t, true, true)&lt;/span&gt;
   editorForm.ShowDialog();

   &lt;span style="color:Green;"&gt;// Remove the task we just created&lt;/span&gt;
   ts.RootFolder.DeleteTask(taskName);
}
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Simple example&lt;/b&gt;&lt;a name="simple"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;// Get the service on the local machine&lt;/span&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; (TaskService ts = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; TaskService())
{
   &lt;span style="color:Green;"&gt;// Create a new task definition and assign properties&lt;/span&gt;
   TaskDefinition td = ts.NewTask();
   td.RegistrationInfo.Description = &lt;span style="color:#A31515;"&gt;&amp;quot;Does something&amp;quot;&lt;/span&gt;;
   td.Principal.LogonType = TaskLogonType.InteractiveToken;

   &lt;span style="color:Green;"&gt;// Add a trigger that will fire the task at this time every other day&lt;/span&gt;
   DailyTrigger dt = (DailyTrigger)td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; DailyTrigger { DaysInterval = 2 });
   dt.Repetition.Duration = TimeSpan.FromHours(4);
   dt.Repetition.Interval = TimeSpan.FromHours(1);

   &lt;span style="color:Green;"&gt;// Add a trigger that will fire every week on Friday&lt;/span&gt;
   td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; WeeklyTrigger { StartBoundary = DateTime.Today + TimeSpan.FromHours(2), DaysOfWeek = DaysOfTheWeek.Friday });

   &lt;span style="color:Green;"&gt;// Add an action that will launch Notepad whenever the trigger fires&lt;/span&gt;
   td.Actions.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; ExecAction(&lt;span style="color:#A31515;"&gt;&amp;quot;notepad.exe&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;c:\\test.log&amp;quot;&lt;/span&gt;, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;));

   &lt;span style="color:Green;"&gt;// Register the task in the root folder&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;const&lt;/span&gt; &lt;span style="color:Blue;"&gt;string&lt;/span&gt; taskName = &lt;span style="color:#A31515;"&gt;&amp;quot;Test&amp;quot;&lt;/span&gt;;
   ts.RootFolder.RegisterTaskDefinition(taskName, td);

   &lt;span style="color:Green;"&gt;// Retrieve the task, change the trigger and re-register it&lt;/span&gt;
   Task t = ts.GetTask(taskName);
   td = t.Definition;
   td.Triggers[0].StartBoundary = DateTime.Today + TimeSpan.FromDays(7);
   ts.RootFolder.RegisterTaskDefinition(taskName, td);

   &lt;span style="color:Green;"&gt;// Remove the task we just created&lt;/span&gt;
   ts.RootFolder.DeleteTask(taskName);
}
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Enumerate all tasks&lt;/b&gt;&lt;a name="enum"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;void&lt;/span&gt; EnumAllTasks()
{
   &lt;span style="color:Blue;"&gt;using&lt;/span&gt; (TaskService ts = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; TaskService())
      EnumFolderTasks(ts.RootFolder);
}

&lt;span style="color:Blue;"&gt;void&lt;/span&gt; EnumFolderTasks(TaskFolder fld)
{
   &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (Task task &lt;span style="color:Blue;"&gt;in&lt;/span&gt; fld.Tasks)
      ActOnTask(task);
   &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (TaskFolder sfld &lt;span style="color:Blue;"&gt;in&lt;/span&gt; fld.SubFolders)
      EnumFolderTasks(sfld);
}

&lt;span style="color:Blue;"&gt;void&lt;/span&gt; ActOnTask(Task t)
{
   &lt;span style="color:Green;"&gt;// Do something interesting here&lt;/span&gt;
}
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Complex example&lt;/b&gt;&lt;a name="complex"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;string&lt;/span&gt; user = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
&lt;span style="color:Blue;"&gt;bool&lt;/span&gt; preWin7 = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;

&lt;span style="color:Green;"&gt;// Get the service on the local machine&lt;/span&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; (TaskService ts = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; TaskService())
{
   &lt;span style="color:Green;"&gt;// Display version and server state&lt;/span&gt;
   Version ver = ts.HighestSupportedVersion;
   &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; newVer = (ver &amp;gt;= &lt;span style="color:Blue;"&gt;new&lt;/span&gt; Version(1, 2));
   Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;Highest version: &amp;quot;&lt;/span&gt; + ver);
   Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;Server: {0} ({1})&amp;quot;&lt;/span&gt;, ts.TargetServer, ts.Connected ? &lt;span style="color:#A31515;"&gt;&amp;quot;Connected&amp;quot;&lt;/span&gt; : &lt;span style="color:#A31515;"&gt;&amp;quot;Disconnected&amp;quot;&lt;/span&gt;);

   &lt;span style="color:Green;"&gt;// Output all of the running tasks&lt;/span&gt;
   Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;Running tasks:&amp;quot;&lt;/span&gt;);
   &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (RunningTask rt &lt;span style="color:Blue;"&gt;in&lt;/span&gt; ts.GetRunningTasks(&lt;span style="color:Blue;"&gt;true&lt;/span&gt;))
   {
      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (rt != &lt;span style="color:Blue;"&gt;null&lt;/span&gt;)
      {
         Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;+ {0}, {1} ({2})&amp;quot;&lt;/span&gt;, rt.Name, rt.Path, rt.State);
         &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (ver.Minor &amp;gt; 0)
            Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;  Current Action: &amp;quot;&lt;/span&gt; + rt.CurrentAction);
      }
   }

   &lt;span style="color:Green;"&gt;// Output all the tasks in the root folder with their triggers and actions&lt;/span&gt;
   TaskFolder tf = ts.RootFolder;
   Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;\nRoot folder tasks ({0}):&amp;quot;&lt;/span&gt;, tf.Tasks.Count);
   &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (Task t &lt;span style="color:Blue;"&gt;in&lt;/span&gt; tf.Tasks)
   {
      &lt;span style="color:Blue;"&gt;try&lt;/span&gt;
      {
         Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;+ {0}, {1} ({2})&amp;quot;&lt;/span&gt;, t.Name, t.Definition.RegistrationInfo.Author, t.State);
         &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (Trigger trg &lt;span style="color:Blue;"&gt;in&lt;/span&gt; t.Definition.Triggers)
            Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot; + {0}&amp;quot;&lt;/span&gt;, trg);
         &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (Action act &lt;span style="color:Blue;"&gt;in&lt;/span&gt; t.Definition.Actions)
            Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot; = {0}&amp;quot;&lt;/span&gt;, act);
      }
      &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; { }
   }

   &lt;span style="color:Green;"&gt;// Output an enumeration of all folders under the root&lt;/span&gt;
   Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;\n***Checking folder enum***&amp;quot;&lt;/span&gt;);
   TaskFolderCollection tfs = tf.SubFolders;
   &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (tfs.Count &amp;gt; 0)
   {
      Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;\nSub folders:&amp;quot;&lt;/span&gt;);
      &lt;span style="color:Blue;"&gt;try&lt;/span&gt;
      {
         &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (TaskFolder sf &lt;span style="color:Blue;"&gt;in&lt;/span&gt; tfs)
            Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;+ {0}&amp;quot;&lt;/span&gt;, sf.Path);
      }
      &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; (Exception ex)
      {
         Console.WriteLine(ex.ToString());
      }
   }

   &lt;span style="color:Green;"&gt;// Display information about the Microsoft folder&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer)
   {
      Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;\n***Checking folder retrieval***&amp;quot;&lt;/span&gt;);
      &lt;span style="color:Blue;"&gt;try&lt;/span&gt;
      {
         TaskFolder sub = tf.SubFolders[&lt;span style="color:#A31515;"&gt;&amp;quot;Microsoft&amp;quot;&lt;/span&gt;];
         Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;\nSubfolder path: &amp;quot;&lt;/span&gt; + sub.Path);
      }
      &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; (NotSupportedException) { }
      &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; (Exception ex)
      {
         Console.WriteLine(ex.ToString());
      }
   }

   Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;\n***Checking task creation***&amp;quot;&lt;/span&gt;);
   &lt;span style="color:Blue;"&gt;try&lt;/span&gt;
   {
      &lt;span style="color:Green;"&gt;// Create a new task definition and assign properties&lt;/span&gt;
      TaskDefinition td = ts.NewTask();
      td.Data = &lt;span style="color:#A31515;"&gt;&amp;quot;Your data&amp;quot;&lt;/span&gt;;
      td.Principal.UserId = user;
      td.Principal.LogonType = TaskLogonType.InteractiveToken;
      td.RegistrationInfo.Author = &lt;span style="color:#A31515;"&gt;&amp;quot;dahall&amp;quot;&lt;/span&gt;;
      td.RegistrationInfo.Description = &lt;span style="color:#A31515;"&gt;&amp;quot;Does something&amp;quot;&lt;/span&gt;;
      td.RegistrationInfo.Documentation = &lt;span style="color:#A31515;"&gt;&amp;quot;Don&amp;#39;t pretend this is real.&amp;quot;&lt;/span&gt;;
      td.Settings.DisallowStartIfOnBatteries = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
      td.Settings.Enabled = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
      td.Settings.ExecutionTimeLimit = TimeSpan.FromHours(2);
      td.Settings.Hidden = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
      td.Settings.IdleSettings.IdleDuration = TimeSpan.FromMinutes(20);
      td.Settings.IdleSettings.RestartOnIdle = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
      td.Settings.IdleSettings.StopOnIdleEnd = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
      td.Settings.IdleSettings.WaitTimeout = TimeSpan.FromMinutes(10);
      td.Settings.Priority = System.Diagnostics.ProcessPriorityClass.Normal;
      td.Settings.RunOnlyIfIdle = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
      td.Settings.RunOnlyIfNetworkAvailable = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
      td.Settings.StopIfGoingOnBatteries = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer)
      {
         td.Principal.RunLevel = TaskRunLevel.Highest; &lt;span style="color:Green;"&gt;//.LUA;&lt;/span&gt;
         &lt;span style="color:Green;"&gt;//td.RegistrationInfo.SecurityDescriptorSddlForm = &amp;quot;O:COG:CGD::(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)&amp;quot;;&lt;/span&gt;
         td.RegistrationInfo.Source = &lt;span style="color:#A31515;"&gt;&amp;quot;Test App&amp;quot;&lt;/span&gt;;
         td.RegistrationInfo.URI = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; Uri(&lt;span style="color:#A31515;"&gt;&amp;quot;test://app&amp;quot;&lt;/span&gt;);
         td.RegistrationInfo.Version = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; Version(0, 9);
         td.Settings.AllowDemandStart = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
         td.Settings.AllowHardTerminate = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
         td.Settings.Compatibility = TaskCompatibility.V2;
         td.Settings.DeleteExpiredTaskAfter = TimeSpan.FromMinutes(1);
         td.Settings.MultipleInstances = TaskInstancesPolicy.StopExisting;
         td.Settings.StartWhenAvailable = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
         td.Settings.WakeToRun = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
         td.Settings.RestartCount = 5;
         td.Settings.RestartInterval = TimeSpan.FromSeconds(100);
      }

      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (preWin7)
      {
         &lt;span style="color:Green;"&gt;// Create a trigger that fires 5 minutes after the system is booted&lt;/span&gt;
         BootTrigger bTrigger = (BootTrigger)td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; BootTrigger { Enabled = &lt;span style="color:Blue;"&gt;false&lt;/span&gt; });
         &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer) bTrigger.Delay = TimeSpan.FromMinutes(5);
      }

      &lt;span style="color:Green;"&gt;// Create a trigger that fires every other day randomly between 6:00 a.m. and 8:00 a.m.&lt;/span&gt;
      DailyTrigger dTrigger = (DailyTrigger)td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; DailyTrigger());
      dTrigger.StartBoundary = DateTime.Today + TimeSpan.FromHours(6);
      dTrigger.DaysInterval = 2;
      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer) dTrigger.RandomDelay = TimeSpan.FromHours(2);

      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer)
      {
         &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (preWin7)
         {
            &lt;span style="color:Green;"&gt;// Create a trigger that will fire on a system security event&lt;/span&gt;
            EventTrigger eTrigger = (EventTrigger)td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; EventTrigger());
            eTrigger.SetBasic(&lt;span style="color:#A31515;"&gt;&amp;quot;Security&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;VSSAudit&amp;quot;&lt;/span&gt;, 25);
            eTrigger.ValueQueries.Add(&lt;span style="color:#A31515;"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;Value&amp;quot;&lt;/span&gt;);
         }

         &lt;span style="color:Green;"&gt;// Create a trigger that fires 5 minutes after this task is registered&lt;/span&gt;
         td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; RegistrationTrigger { Delay = TimeSpan.FromMinutes(5) });

         &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (preWin7)
         {
            &lt;span style="color:Green;"&gt;// Create triggers that fire after various system states are changed&lt;/span&gt;
            td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; SessionStateChangeTrigger { StateChange = TaskSessionStateChangeType.ConsoleConnect, UserId = user });
            td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; SessionStateChangeTrigger { StateChange = TaskSessionStateChangeType.ConsoleDisconnect });
            td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; SessionStateChangeTrigger { StateChange = TaskSessionStateChangeType.RemoteConnect });
            td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; SessionStateChangeTrigger { StateChange = TaskSessionStateChangeType.RemoteDisconnect });
            td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; SessionStateChangeTrigger { StateChange = TaskSessionStateChangeType.SessionLock, UserId = user });
            td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; SessionStateChangeTrigger { StateChange = TaskSessionStateChangeType.SessionUnlock });
         }
      }

      &lt;span style="color:Green;"&gt;// Create a trigger that fires when the system is idle&lt;/span&gt;
      td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; IdleTrigger());

      &lt;span style="color:Green;"&gt;// Create a trigger that fires 15 minutes after the current user logs on and then every 1000 seconds after that&lt;/span&gt;
      LogonTrigger lTrigger = (LogonTrigger)td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; LogonTrigger());
      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer)
      {
         lTrigger.Delay = TimeSpan.FromMinutes(15);
         lTrigger.UserId = user;
         lTrigger.Repetition.Interval = TimeSpan.FromSeconds(1000);
      }

      &lt;span style="color:Green;"&gt;// Create a trigger that fires on the 3rd, 6th, 10th, 18th, and last days of July and November and stops triggering 90 days from now&lt;/span&gt;
      MonthlyTrigger mTrigger = (MonthlyTrigger)td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; MonthlyTrigger());
      mTrigger.DaysOfMonth = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; &lt;span style="color:Blue;"&gt;int&lt;/span&gt;[] { 3, 6, 10, 18 };
      mTrigger.MonthsOfYear = MonthsOfTheYear.July | MonthsOfTheYear.November;
      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer) mTrigger.RunOnLastDayOfMonth = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
      mTrigger.EndBoundary = DateTime.Today + TimeSpan.FromDays(90);

      &lt;span style="color:Green;"&gt;// Create a trigger that fires every day of the first and last week of December and January&lt;/span&gt;
      MonthlyDOWTrigger mdTrigger = (MonthlyDOWTrigger)td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; MonthlyDOWTrigger());
      mdTrigger.DaysOfWeek = DaysOfTheWeek.AllDays;
      mdTrigger.MonthsOfYear = MonthsOfTheYear.January | MonthsOfTheYear.December;
      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer) mdTrigger.RunOnLastWeekOfMonth = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
      mdTrigger.WeeksOfMonth = WhichWeek.FirstWeek;

      &lt;span style="color:Green;"&gt;// Create a trigger that fires 1 minute from now and then every 15 minutes for the next 7 days.&lt;/span&gt;
      TimeTrigger tTrigger = (TimeTrigger)td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; TimeTrigger());
      tTrigger.StartBoundary = DateTime.Now + TimeSpan.FromMinutes(1);
      tTrigger.EndBoundary = DateTime.Today + TimeSpan.FromDays(7);
      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer) tTrigger.ExecutionTimeLimit = TimeSpan.FromSeconds(15);
      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer) tTrigger.Id = &lt;span style="color:#A31515;"&gt;&amp;quot;Time test&amp;quot;&lt;/span&gt;;
      tTrigger.Repetition.Duration = TimeSpan.FromMinutes(20);
      tTrigger.Repetition.Interval = TimeSpan.FromMinutes(15);
      tTrigger.Repetition.StopAtDurationEnd = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;

      &lt;span style="color:Green;"&gt;// Create a trigger that fires every third week on Monday&lt;/span&gt;
      WeeklyTrigger wTrigger = (WeeklyTrigger)td.Triggers.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; WeeklyTrigger());
      wTrigger.DaysOfWeek = DaysOfTheWeek.Monday;
      wTrigger.WeeksInterval = 3;

      &lt;span style="color:Green;"&gt;// Create an action which opens a log file in notepad&lt;/span&gt;
      td.Actions.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; ExecAction(&lt;span style="color:#A31515;"&gt;&amp;quot;notepad.exe&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;c:\\test.log&amp;quot;&lt;/span&gt;, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;));
      &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (newVer)
      {
         &lt;span style="color:Green;"&gt;// Create an action which shows a message to the interactive user&lt;/span&gt;
         td.Actions.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; ShowMessageAction(&lt;span style="color:#A31515;"&gt;&amp;quot;Running Notepad&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;Info&amp;quot;&lt;/span&gt;));
         &lt;span style="color:Green;"&gt;// Create an action which sends an email&lt;/span&gt;
         td.Actions.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; EmailAction(&lt;span style="color:#A31515;"&gt;&amp;quot;Testing&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;dahall@codeplex.com&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;user@test.com&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;You&amp;#39;ve got mail.&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;mail.myisp.com&amp;quot;&lt;/span&gt;));
         &lt;span style="color:Green;"&gt;// Create an action which loads a COM object and calls the ITaskHandler interface&lt;/span&gt;
         td.Actions.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; ComHandlerAction(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; Guid(&lt;span style="color:#A31515;"&gt;&amp;quot;CE7D4428-8A77-4c5d-8A13-5CAB5D1EC734&amp;quot;&lt;/span&gt;), &lt;span style="color:Blue;"&gt;string&lt;/span&gt;.Empty));
      }

      &lt;span style="color:Green;"&gt;// Register the task definition (saves it) in the security context of the interactive user&lt;/span&gt;
      tf.RegisterTaskDefinition(&lt;span style="color:#A31515;"&gt;&amp;quot;Test&amp;quot;&lt;/span&gt;, td, TaskCreation.CreateOrUpdate, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;, TaskLogonType.InteractiveToken, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;);
   }
   &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; (Exception ex)
   {
      Console.WriteLine(ex.ToString());
   }

   &lt;span style="color:Green;"&gt;// Display information about the newly created task&lt;/span&gt;
   Task runningTask = tf.Tasks[&lt;span style="color:#A31515;"&gt;&amp;quot;Test&amp;quot;&lt;/span&gt;];
   Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;\nNew task will run at &amp;quot;&lt;/span&gt; + runningTask.NextRunTime);
   Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;\nNew task triggers:&amp;quot;&lt;/span&gt;);
   &lt;span style="color:Blue;"&gt;for&lt;/span&gt; (&lt;span style="color:Blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; runningTask.Definition.Triggers.Count; i++)
      Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;  {0}: {1}&amp;quot;&lt;/span&gt;, i, runningTask.Definition.Triggers[i]);
   Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;\nNew task actions:&amp;quot;&lt;/span&gt;);
   &lt;span style="color:Blue;"&gt;for&lt;/span&gt; (&lt;span style="color:Blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; runningTask.Definition.Actions.Count; i++)
      Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;  {0}: {1}&amp;quot;&lt;/span&gt;, i, runningTask.Definition.Actions[i]);

   &lt;span style="color:Green;"&gt;// Remove the task we just created since this was just a test&lt;/span&gt;
   tf.DeleteTask(&lt;span style="color:#A31515;"&gt;&amp;quot;Test&amp;quot;&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Task history example&lt;/b&gt;&lt;a name="history"&gt;&lt;/a&gt;&lt;br /&gt;Only works with release 1.6.2 or source code drop 66948 and later and requires the inclusion of the TaskSchedulerEditor assembly.&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
TaskEventLog log = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; TaskEventLog(task.Path);
List&amp;lt;ListViewItem&amp;gt; c = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; List&amp;lt;ListViewItem&amp;gt;(100);
&lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (TaskEvent item &lt;span style="color:Blue;"&gt;in&lt;/span&gt; log)
   c.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; ListViewItem(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; &lt;span style="color:Blue;"&gt;string&lt;/span&gt;[] { item.Level, item.TimeCreated.ToString(), item.EventId.ToString(),
      item.TaskCategory, item.OpCode, item.ActivityId.ToString() }));
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dahall</author><pubDate>Mon, 20 May 2013 15:47:12 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Examples 20130520034712P</guid></item><item><title>New Comment on "Examples"</title><link>https://taskscheduler.codeplex.com/wikipage?title=Examples&amp;ANCHOR#C27530</link><description>When i did tried to run the code getting error&amp;#58;&amp;#10;Error 3 &amp;#39;Action&amp;#39; is an ambiguous reference between &amp;#39;System.Action&amp;#39; and &amp;#39;Microsoft.Win32.TaskScheduler.Action&amp;#39;&amp;#10;&amp;#10;&amp;#10;Believe some reference is missing.Could you please let me know how to add that reference as i am not getting it neither .NET or in COM list.&amp;#10;&amp;#10;Thanks,&amp;#10;Sisir</description><author>sisir14</author><pubDate>Mon, 20 May 2013 08:43:17 GMT</pubDate><guid isPermaLink="false">New Comment on "Examples" 20130520084317A</guid></item><item><title>Closed Unassigned: Code to check the staus of scheduled task in remote machine and fire email [11029]</title><link>http://taskscheduler.codeplex.com/workitem/11029</link><description>Hi Folks,&lt;br /&gt;&lt;br /&gt;I do have a requirement&amp;#58;&lt;br /&gt;&lt;br /&gt;1.Need to get the status of all scheduled tasks schduled in a remote machine&lt;br /&gt;2.Based on status need to send an alert email&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is my sample code&amp;#58;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System&amp;#59;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using System.Linq&amp;#59;&lt;br /&gt;using System.Text&amp;#59;&lt;br /&gt;using Microsoft.Win32.TaskScheduler&amp;#59;&lt;br /&gt;using System.Threading&amp;#59;&lt;br /&gt;using System.Diagnostics&amp;#59;&lt;br /&gt;using System.Net&amp;#59;&lt;br /&gt;using System.Net.Mail&amp;#59;&lt;br /&gt;using System.Data.SqlClient&amp;#59;&lt;br /&gt;using System.Data&amp;#59;&lt;br /&gt;using System.Devices&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47;using System.Devices.RemoteDeviceManager&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47;using System.Diagonistics.EventLog&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;namespace TaskSchedulerRemote&lt;br /&gt;&amp;#123;&lt;br /&gt;    class Program&lt;br /&gt;    &amp;#123;&lt;br /&gt;        &amp;#47;&amp;#47;TaskService  01_server &amp;#61; getTaskService&amp;#40;&amp;#34;&amp;#92;&amp;#92;&amp;#92;&amp;#92;123.122.222.222&amp;#34;, &amp;#34;administrator&amp;#34;, &amp;#34;domain1&amp;#34;, &amp;#34;pwd0&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#47;&amp;#47;TaskService 02_server &amp;#61; getTaskService&amp;#40;&amp;#34;&amp;#92;&amp;#92;&amp;#92;&amp;#92;123.122.222.222&amp;#34;, &amp;#34;administrator&amp;#34;, &amp;#34;domain2&amp;#34;, &amp;#34;pwd1&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;        static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            using &amp;#40;TaskService task &amp;#61; new TaskService&amp;#40;&amp;#41;&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                TaskDefinition td &amp;#61; task.NewTask&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                td.RegistrationInfo.Description &amp;#61; &amp;#34;RF Report&amp;#34;&amp;#59;&lt;br /&gt;                td.Actions.Add&amp;#40;new ExecAction&amp;#40;&amp;#34;notepad.exe&amp;#34;, &amp;#34;c&amp;#58;&amp;#92;test.log&amp;#34;, null&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                while &amp;#40;true&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    Task taskdDef &amp;#61; task.FindTask&amp;#40;&amp;#34;RF Report&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;string registeredTask&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;string&amp;#91;&amp;#93; taskCollection &amp;#61; &amp;#123; &amp;#34;&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;&amp;#34; &amp;#125;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;foreach &amp;#40;string str in taskCollection&amp;#41;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;For Each registeredTask In taskCollection&lt;br /&gt;&lt;br /&gt;                    switch &amp;#40;taskdDef.State&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        case TaskState.Queued&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Queued&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Ready&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Ready&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Unknown&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Unknown&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Disabled&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Disabled&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Running&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Running&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                    Thread.Sleep&amp;#40;10000&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;MailMessage Msg &amp;#61; new MailMessage&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;MailAddress fromMail &amp;#61; new MailAddress&amp;#40;&amp;#34;emailid&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#47;&amp;#47; Sender e-mail address.&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.From &amp;#61; fromMail&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#47;&amp;#47; Recipient e-mail address.&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.To.Add&amp;#40;new MailAddress&amp;#40;&amp;#34;emailid&amp;#34;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Priority &amp;#61; MailPriority.High&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#47;&amp;#47; Subject of e-mail&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Subject &amp;#61; &amp;#34;Scheduled Task Status Report&amp;#58;&amp;#34; &amp;#43; System.DateTime.Now&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Body &amp;#43;&amp;#61; &amp;#34;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;&amp;#60;Table&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;Hi All,&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;Please find below the status report of schduled task &amp;#58;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;&amp;#47;Table&amp;#62;&amp;#60;&amp;#47;body&amp;#62;&amp;#60;&amp;#47;html&amp;#62;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Body &amp;#43;&amp;#61; &amp;#34;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;&amp;#60;Table&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;Regards,&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#34; &amp;#43;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#34;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#60;b&amp;#62;NOTE&amp;#58; This is an automated mail. Please, do not reply.&amp;#60;&amp;#47;b&amp;#62; &amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;&amp;#47;table&amp;#62;&amp;#60;&amp;#47;body&amp;#62;&amp;#60;&amp;#47;html&amp;#62;&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.IsBodyHtml &amp;#61; true&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;string sSmtpServer &amp;#61; &amp;#34;&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;sSmtpServer &amp;#61; &amp;#34;mailservername&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;SmtpClient a &amp;#61; new SmtpClient&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;a.Host &amp;#61; sSmtpServer&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;a.EnableSsl &amp;#61; false&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;try&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;&amp;#34;Sending mail...&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;    a.Send&amp;#40;Msg&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;&amp;#34;Mail was sent successfully&amp;#33;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;                    &amp;#47;&amp;#47;catch &amp;#40;Exception ep&amp;#41;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;&amp;#34;failed to send mail&amp;#58;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;ep.Message&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;                &amp;#125;&lt;br /&gt;&lt;br /&gt;                string sSource &amp;#61; &amp;#34;MyCustom Group&amp;#34;&amp;#59;&lt;br /&gt;                string sLog &amp;#61; &amp;#34;Application&amp;#34;&amp;#59;&lt;br /&gt;                string sEvent &amp;#61; &amp;#34;&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;&amp;#33;EventLog.SourceExists&amp;#40;sSource&amp;#41;&amp;#41;&lt;br /&gt;                    EventLog.CreateEventSource&amp;#40;sSource, sLog&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                EventLog.WriteEntry&amp;#40;sSource, sEvent, EventLogEntryType.Error, 234&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Not sure how to connect to the remote server&amp;#47;machine and read and get the task status details and also need to amend that status details in email.&lt;br /&gt;&lt;br /&gt;Could anyone please look into my code and suggest.&lt;br /&gt;&lt;br /&gt;Many Thanks,&lt;br /&gt;Sisir&lt;br /&gt;</description><author>dahall</author><pubDate>Sun, 19 May 2013 04:41:00 GMT</pubDate><guid isPermaLink="false">Closed Unassigned: Code to check the staus of scheduled task in remote machine and fire email [11029] 20130519044100A</guid></item><item><title>Commented Unassigned: Code to check the staus of scheduled task in remote machine and fire email [11029]</title><link>http://taskscheduler.codeplex.com/workitem/11029</link><description>Hi Folks,&lt;br /&gt;&lt;br /&gt;I do have a requirement&amp;#58;&lt;br /&gt;&lt;br /&gt;1.Need to get the status of all scheduled tasks schduled in a remote machine&lt;br /&gt;2.Based on status need to send an alert email&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is my sample code&amp;#58;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System&amp;#59;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using System.Linq&amp;#59;&lt;br /&gt;using System.Text&amp;#59;&lt;br /&gt;using Microsoft.Win32.TaskScheduler&amp;#59;&lt;br /&gt;using System.Threading&amp;#59;&lt;br /&gt;using System.Diagnostics&amp;#59;&lt;br /&gt;using System.Net&amp;#59;&lt;br /&gt;using System.Net.Mail&amp;#59;&lt;br /&gt;using System.Data.SqlClient&amp;#59;&lt;br /&gt;using System.Data&amp;#59;&lt;br /&gt;using System.Devices&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47;using System.Devices.RemoteDeviceManager&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47;using System.Diagonistics.EventLog&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;namespace TaskSchedulerRemote&lt;br /&gt;&amp;#123;&lt;br /&gt;    class Program&lt;br /&gt;    &amp;#123;&lt;br /&gt;        &amp;#47;&amp;#47;TaskService  01_server &amp;#61; getTaskService&amp;#40;&amp;#34;&amp;#92;&amp;#92;&amp;#92;&amp;#92;123.122.222.222&amp;#34;, &amp;#34;administrator&amp;#34;, &amp;#34;domain1&amp;#34;, &amp;#34;pwd0&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#47;&amp;#47;TaskService 02_server &amp;#61; getTaskService&amp;#40;&amp;#34;&amp;#92;&amp;#92;&amp;#92;&amp;#92;123.122.222.222&amp;#34;, &amp;#34;administrator&amp;#34;, &amp;#34;domain2&amp;#34;, &amp;#34;pwd1&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;        static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            using &amp;#40;TaskService task &amp;#61; new TaskService&amp;#40;&amp;#41;&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                TaskDefinition td &amp;#61; task.NewTask&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                td.RegistrationInfo.Description &amp;#61; &amp;#34;RF Report&amp;#34;&amp;#59;&lt;br /&gt;                td.Actions.Add&amp;#40;new ExecAction&amp;#40;&amp;#34;notepad.exe&amp;#34;, &amp;#34;c&amp;#58;&amp;#92;test.log&amp;#34;, null&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                while &amp;#40;true&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    Task taskdDef &amp;#61; task.FindTask&amp;#40;&amp;#34;RF Report&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;string registeredTask&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;string&amp;#91;&amp;#93; taskCollection &amp;#61; &amp;#123; &amp;#34;&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;&amp;#34; &amp;#125;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;foreach &amp;#40;string str in taskCollection&amp;#41;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;For Each registeredTask In taskCollection&lt;br /&gt;&lt;br /&gt;                    switch &amp;#40;taskdDef.State&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        case TaskState.Queued&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Queued&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Ready&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Ready&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Unknown&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Unknown&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Disabled&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Disabled&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Running&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Running&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                    Thread.Sleep&amp;#40;10000&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;MailMessage Msg &amp;#61; new MailMessage&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;MailAddress fromMail &amp;#61; new MailAddress&amp;#40;&amp;#34;emailid&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#47;&amp;#47; Sender e-mail address.&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.From &amp;#61; fromMail&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#47;&amp;#47; Recipient e-mail address.&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.To.Add&amp;#40;new MailAddress&amp;#40;&amp;#34;emailid&amp;#34;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Priority &amp;#61; MailPriority.High&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#47;&amp;#47; Subject of e-mail&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Subject &amp;#61; &amp;#34;Scheduled Task Status Report&amp;#58;&amp;#34; &amp;#43; System.DateTime.Now&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Body &amp;#43;&amp;#61; &amp;#34;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;&amp;#60;Table&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;Hi All,&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;Please find below the status report of schduled task &amp;#58;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;&amp;#47;Table&amp;#62;&amp;#60;&amp;#47;body&amp;#62;&amp;#60;&amp;#47;html&amp;#62;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Body &amp;#43;&amp;#61; &amp;#34;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;&amp;#60;Table&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;Regards,&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#34; &amp;#43;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#34;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#60;b&amp;#62;NOTE&amp;#58; This is an automated mail. Please, do not reply.&amp;#60;&amp;#47;b&amp;#62; &amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;&amp;#47;table&amp;#62;&amp;#60;&amp;#47;body&amp;#62;&amp;#60;&amp;#47;html&amp;#62;&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.IsBodyHtml &amp;#61; true&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;string sSmtpServer &amp;#61; &amp;#34;&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;sSmtpServer &amp;#61; &amp;#34;mailservername&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;SmtpClient a &amp;#61; new SmtpClient&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;a.Host &amp;#61; sSmtpServer&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;a.EnableSsl &amp;#61; false&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;try&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;&amp;#34;Sending mail...&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;    a.Send&amp;#40;Msg&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;&amp;#34;Mail was sent successfully&amp;#33;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;                    &amp;#47;&amp;#47;catch &amp;#40;Exception ep&amp;#41;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;&amp;#34;failed to send mail&amp;#58;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;ep.Message&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;                &amp;#125;&lt;br /&gt;&lt;br /&gt;                string sSource &amp;#61; &amp;#34;MyCustom Group&amp;#34;&amp;#59;&lt;br /&gt;                string sLog &amp;#61; &amp;#34;Application&amp;#34;&amp;#59;&lt;br /&gt;                string sEvent &amp;#61; &amp;#34;&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;&amp;#33;EventLog.SourceExists&amp;#40;sSource&amp;#41;&amp;#41;&lt;br /&gt;                    EventLog.CreateEventSource&amp;#40;sSource, sLog&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                EventLog.WriteEntry&amp;#40;sSource, sEvent, EventLogEntryType.Error, 234&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Not sure how to connect to the remote server&amp;#47;machine and read and get the task status details and also need to amend that status details in email.&lt;br /&gt;&lt;br /&gt;Could anyone please look into my code and suggest.&lt;br /&gt;&lt;br /&gt;Many Thanks,&lt;br /&gt;Sisir&lt;br /&gt;Comments: ** Comment from web user: dahall ** &lt;p&gt;I'm not clear what you are trying to accomplish. However, you can find examples of how to connect to a remote server and how to retrieve information about tasks in the Documentation on the [Examples page](https://taskscheduler.codeplex.com/wikipage?title=Examples). I don't believe this is an issue with the library so I will be closing this issue.&lt;/p&gt;</description><author>dahall</author><pubDate>Sun, 19 May 2013 04:39:20 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: Code to check the staus of scheduled task in remote machine and fire email [11029] 20130519043920A</guid></item><item><title>Created Unassigned: Code to check the staus of scheduled task in remote machine and fire email [11029]</title><link>http://taskscheduler.codeplex.com/workitem/11029</link><description>Hi Folks,&lt;br /&gt;&lt;br /&gt;I do have a requirement&amp;#58;&lt;br /&gt;&lt;br /&gt;1.Need to get the status of all scheduled tasks schduled in a remote machine&lt;br /&gt;2.Based on status need to send an alert email&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is my sample code&amp;#58;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System&amp;#59;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using System.Linq&amp;#59;&lt;br /&gt;using System.Text&amp;#59;&lt;br /&gt;using Microsoft.Win32.TaskScheduler&amp;#59;&lt;br /&gt;using System.Threading&amp;#59;&lt;br /&gt;using System.Diagnostics&amp;#59;&lt;br /&gt;using System.Net&amp;#59;&lt;br /&gt;using System.Net.Mail&amp;#59;&lt;br /&gt;using System.Data.SqlClient&amp;#59;&lt;br /&gt;using System.Data&amp;#59;&lt;br /&gt;using System.Devices&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47;using System.Devices.RemoteDeviceManager&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47;using System.Diagonistics.EventLog&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;namespace TaskSchedulerRemote&lt;br /&gt;&amp;#123;&lt;br /&gt;    class Program&lt;br /&gt;    &amp;#123;&lt;br /&gt;        &amp;#47;&amp;#47;TaskService  01_server &amp;#61; getTaskService&amp;#40;&amp;#34;&amp;#92;&amp;#92;&amp;#92;&amp;#92;123.122.222.222&amp;#34;, &amp;#34;administrator&amp;#34;, &amp;#34;domain1&amp;#34;, &amp;#34;pwd0&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#47;&amp;#47;TaskService 02_server &amp;#61; getTaskService&amp;#40;&amp;#34;&amp;#92;&amp;#92;&amp;#92;&amp;#92;123.122.222.222&amp;#34;, &amp;#34;administrator&amp;#34;, &amp;#34;domain2&amp;#34;, &amp;#34;pwd1&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;        static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            using &amp;#40;TaskService task &amp;#61; new TaskService&amp;#40;&amp;#41;&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                TaskDefinition td &amp;#61; task.NewTask&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                td.RegistrationInfo.Description &amp;#61; &amp;#34;RF Report&amp;#34;&amp;#59;&lt;br /&gt;                td.Actions.Add&amp;#40;new ExecAction&amp;#40;&amp;#34;notepad.exe&amp;#34;, &amp;#34;c&amp;#58;&amp;#92;test.log&amp;#34;, null&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                while &amp;#40;true&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    Task taskdDef &amp;#61; task.FindTask&amp;#40;&amp;#34;RF Report&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;string registeredTask&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;string&amp;#91;&amp;#93; taskCollection &amp;#61; &amp;#123; &amp;#34;&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;&amp;#34; &amp;#125;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;foreach &amp;#40;string str in taskCollection&amp;#41;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;For Each registeredTask In taskCollection&lt;br /&gt;&lt;br /&gt;                    switch &amp;#40;taskdDef.State&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        case TaskState.Queued&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Queued&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Ready&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Ready&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Unknown&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Unknown&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Disabled&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Disabled&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                        case TaskState.Running&amp;#58;&lt;br /&gt;                            Console.WriteLine&amp;#40;&amp;#34;Running&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            break&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                    Thread.Sleep&amp;#40;10000&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;MailMessage Msg &amp;#61; new MailMessage&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;MailAddress fromMail &amp;#61; new MailAddress&amp;#40;&amp;#34;emailid&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#47;&amp;#47; Sender e-mail address.&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.From &amp;#61; fromMail&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#47;&amp;#47; Recipient e-mail address.&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.To.Add&amp;#40;new MailAddress&amp;#40;&amp;#34;emailid&amp;#34;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Priority &amp;#61; MailPriority.High&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#47;&amp;#47; Subject of e-mail&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Subject &amp;#61; &amp;#34;Scheduled Task Status Report&amp;#58;&amp;#34; &amp;#43; System.DateTime.Now&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Body &amp;#43;&amp;#61; &amp;#34;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;&amp;#60;Table&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;Hi All,&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;Please find below the status report of schduled task &amp;#58;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;&amp;#47;Table&amp;#62;&amp;#60;&amp;#47;body&amp;#62;&amp;#60;&amp;#47;html&amp;#62;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.Body &amp;#43;&amp;#61; &amp;#34;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;&amp;#60;Table&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;Regards,&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#34; &amp;#43;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#34;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#60;b&amp;#62;NOTE&amp;#58; This is an automated mail. Please, do not reply.&amp;#60;&amp;#47;b&amp;#62; &amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#60;&amp;#47;table&amp;#62;&amp;#60;&amp;#47;body&amp;#62;&amp;#60;&amp;#47;html&amp;#62;&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;Msg.IsBodyHtml &amp;#61; true&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;string sSmtpServer &amp;#61; &amp;#34;&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;sSmtpServer &amp;#61; &amp;#34;mailservername&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;SmtpClient a &amp;#61; new SmtpClient&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;a.Host &amp;#61; sSmtpServer&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;a.EnableSsl &amp;#61; false&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;try&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;&amp;#34;Sending mail...&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;    a.Send&amp;#40;Msg&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;&amp;#34;Mail was sent successfully&amp;#33;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;                    &amp;#47;&amp;#47;catch &amp;#40;Exception ep&amp;#41;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;&amp;#34;failed to send mail&amp;#58;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;    Console.WriteLine&amp;#40;ep.Message&amp;#41;&amp;#59;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;                &amp;#125;&lt;br /&gt;&lt;br /&gt;                string sSource &amp;#61; &amp;#34;MyCustom Group&amp;#34;&amp;#59;&lt;br /&gt;                string sLog &amp;#61; &amp;#34;Application&amp;#34;&amp;#59;&lt;br /&gt;                string sEvent &amp;#61; &amp;#34;&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;&amp;#33;EventLog.SourceExists&amp;#40;sSource&amp;#41;&amp;#41;&lt;br /&gt;                    EventLog.CreateEventSource&amp;#40;sSource, sLog&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                EventLog.WriteEntry&amp;#40;sSource, sEvent, EventLogEntryType.Error, 234&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Not sure how to connect to the remote server&amp;#47;machine and read and get the task status details and also need to amend that status details in email.&lt;br /&gt;&lt;br /&gt;Could anyone please look into my code and suggest.&lt;br /&gt;&lt;br /&gt;Many Thanks,&lt;br /&gt;Sisir&lt;br /&gt;</description><author>sisir14</author><pubDate>Fri, 17 May 2013 13:59:14 GMT</pubDate><guid isPermaLink="false">Created Unassigned: Code to check the staus of scheduled task in remote machine and fire email [11029] 20130517015914P</guid></item><item><title>Commented Issue: how to get task from remote server [10350]</title><link>http://taskscheduler.codeplex.com/workitem/10350</link><description>I want to call remotely windows task scheduler for this i am using Microsoft.Win32.TaskScheduler.dll and created object of TaskService class like&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;TaskService  01_server &amp;#61; getTaskService&amp;#40;&amp;#34;&amp;#92;&amp;#92;&amp;#92;&amp;#92;123.122.222.222&amp;#34;, &amp;#34;administrator&amp;#34;, &amp;#34;domain1&amp;#34;, &amp;#34;pwd0&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;TaskService 02_server &amp;#61; getTaskService&amp;#40;&amp;#34;&amp;#92;&amp;#92;&amp;#92;&amp;#92;123.122.222.222&amp;#34;, &amp;#34;administrator&amp;#34;, &amp;#34;domain2&amp;#34;, &amp;#34;pwd1&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;and bind task to grodview &lt;br /&gt;&amp;#160;&lt;br /&gt;for server 01_serve&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;DataTable dataTable &amp;#61; new DataTable&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;dataTable.Columns.Add&amp;#40;&amp;#34;TaskName&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;dataTable.Columns.Add&amp;#40;&amp;#34;TaskSchedule&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;dataTable.Columns.Add&amp;#40;&amp;#34;TaskNextRun&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;dataTable.Columns.Add&amp;#40;&amp;#34;TaskLastRun&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;dataTable.Columns.Add&amp;#40;&amp;#34;State&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;dataTable.AcceptChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;DataRow dataRow&amp;#59;&lt;br /&gt;StringBuilder sbTaskSchedule &amp;#61; new StringBuilder&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;Version ver &amp;#61;  01_server .HighestSupportedVersion&amp;#59;&lt;br /&gt;bool newVer &amp;#61; &amp;#40;ver &amp;#62;&amp;#61; new Version&amp;#40;1, 2&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;TaskFolder tf &amp;#61; 01_serve.RootFolder&amp;#59;&lt;br /&gt;&lt;br /&gt;int ctaskNx &amp;#61; 01_serve.RootFolder.Tasks.Count&amp;#59;&lt;br /&gt;&lt;br /&gt;for &amp;#40;int i &amp;#61; 0&amp;#59; i &amp;#60; ctaskNx&amp;#59; i&amp;#43;&amp;#43;&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    m_Task &amp;#61; 01_serve.RootFolder.Tasks&amp;#91;i&amp;#93;&amp;#59;&lt;br /&gt;&lt;br /&gt;    string strFileNamePath &amp;#61; m_Task.Definition.Actions.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;    if &amp;#40;strFileNamePath.Contains&amp;#40;&amp;#34;.vbs&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        dataRow &amp;#61; dataTable.NewRow&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataRow&amp;#91;&amp;#34;TaskName&amp;#34;&amp;#93; &amp;#61; m_Task.Name.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataRow&amp;#91;&amp;#34;TaskNextRun&amp;#34;&amp;#93; &amp;#61; m_Task.NextRunTime.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataRow&amp;#91;&amp;#34;TaskLastRun&amp;#34;&amp;#93; &amp;#61; m_Task.LastRunTime.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataRow&amp;#91;&amp;#34;State&amp;#34;&amp;#93; &amp;#61; m_Task.State.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataTable.Rows.Add&amp;#40;dataRow&amp;#41;&amp;#59;&lt;br /&gt;        dataTable.AcceptChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;for server 02_serve&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;Version ver &amp;#61;  02_server .HighestSupportedVersion&amp;#59;&lt;br /&gt;bool newVer &amp;#61; &amp;#40;ver &amp;#62;&amp;#61; new Version&amp;#40;1, 2&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;TaskFolder tf &amp;#61; 02_server.RootFolder&amp;#59;&lt;br /&gt;&lt;br /&gt;int ctaskNx &amp;#61; 02_server.RootFolder.Tasks.Count&amp;#59;&lt;br /&gt;&lt;br /&gt;for &amp;#40;int i &amp;#61; 0&amp;#59; i &amp;#60; ctaskNx&amp;#59; i&amp;#43;&amp;#43;&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    m_Task &amp;#61; 02_server.RootFolder.Tasks&amp;#91;i&amp;#93;&amp;#59;&lt;br /&gt;&lt;br /&gt;    string strFileNamePath &amp;#61; m_Task.Definition.Actions.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;    if &amp;#40;strFileNamePath.Contains&amp;#40;&amp;#34;.vbs&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        dataRow &amp;#61; dataTable.NewRow&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataRow&amp;#91;&amp;#34;TaskName&amp;#34;&amp;#93; &amp;#61; m_Task.Name.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataRow&amp;#91;&amp;#34;TaskNextRun&amp;#34;&amp;#93; &amp;#61; m_Task.NextRunTime.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataRow&amp;#91;&amp;#34;TaskLastRun&amp;#34;&amp;#93; &amp;#61; m_Task.LastRunTime.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataRow&amp;#91;&amp;#34;State&amp;#34;&amp;#93; &amp;#61; m_Task.State.ToString&amp;#40;&amp;#41;.Trim&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        dataTable.Rows.Add&amp;#40;dataRow&amp;#41;&amp;#59;&lt;br /&gt;        dataTable.AcceptChanges&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;but i am not able to get task from remote server&lt;br /&gt;please guide me where i am wrong&lt;br /&gt;Comments: ** Comment from web user: sisir14 ** &lt;p&gt;Hi Team,&lt;/p&gt;&lt;p&gt;I also do have the same question.Any update answer on this please.&lt;/p&gt;&lt;p&gt;How to remote connect a remote machine to check the status of scheduled task&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Many Thanks,&lt;br&gt;Sisir&lt;/p&gt;</description><author>sisir14</author><pubDate>Fri, 17 May 2013 07:14:57 GMT</pubDate><guid isPermaLink="false">Commented Issue: how to get task from remote server [10350] 20130517071457A</guid></item><item><title>New Post: Hung Scheduled Task Won't Stop</title><link>http://taskscheduler.codeplex.com/discussions/443928</link><description>&lt;div style="line-height: normal;"&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
We've been using this API to manage scheduled tasks (mostly by enabling them and disabling them) on a number of remote servers during software deployments, and it works quite well the majority of the time.&lt;br /&gt;
&lt;br /&gt;
Occasionally, however, we run into a situation where a scheduled task gets &amp;quot;hung&amp;quot; (remains in a &amp;quot;Running&amp;quot; state perpetually, even though it's not actually doing any work). This happens most often on servers with slower connections, although it happens on faster servers as well with a decreased regularity.&lt;br /&gt;
&lt;br /&gt;
I've been able to recreate the situation relatively easily by creating the conditions outlined here:&lt;br /&gt;
&lt;a href="http://blogs.technet.com/b/rspitz/archive/2010/11/07/scheduled-tasks-appear-hung-in-the-running-state-on-windows-server-2003-based-systems.aspx" rel="nofollow"&gt;http://blogs.technet.com/b/rspitz/archive/2010/11/07/scheduled-tasks-appear-hung-in-the-running-state-on-windows-server-2003-based-systems.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
While in this state, we can't stop the task (either through the Task.Stop() API call or through the Windows Scheduled Task interface) and are forced to restart the Task Scheduler service to free it up. &lt;br /&gt;
&lt;br /&gt;
Since the Windows interface doesn't seem to allow us to stop tasks in this condition I don't have much hope for the API, but I have to ask: Has anyone here encountered this before and found a way to deal with it and/or avoid it when using this API?&lt;br /&gt;
&lt;/div&gt;</description><author>mattbbpl</author><pubDate>Thu, 16 May 2013 15:29:50 GMT</pubDate><guid isPermaLink="false">New Post: Hung Scheduled Task Won't Stop 20130516032950P</guid></item><item><title>New Post: Hung Scheduled Task Won't Stop</title><link>http://taskscheduler.codeplex.com/discussions/443928</link><description>&lt;div style="line-height: normal;"&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
We've been using this API to manage scheduled tasks (mostly by enabling them and disabling them) on a number of remote servers during software deployments, and it works quite well the majority of the time.&lt;br /&gt;
&lt;br /&gt;
Occasionally, however, we run into a situation where a scheduled task gets &amp;quot;hung&amp;quot; (remains in a &amp;quot;Running&amp;quot; state perpetually, even though it's not actually doing any work). This happens most often on servers with slower connections, although it happens on faster servers as well with a decreased regularity.&lt;br /&gt;
&lt;br /&gt;
I've been able to recreate the situation relatively easily by creating the conditions outlined here:&lt;br /&gt;
&lt;a href="http://blogs.technet.com/b/rspitz/archive/2010/11/07/scheduled-tasks-appear-hung-in-the-running-state-on-windows-server-2003-based-systems.aspx" rel="nofollow"&gt;http://blogs.technet.com/b/rspitz/archive/2010/11/07/scheduled-tasks-appear-hung-in-the-running-state-on-windows-server-2003-based-systems.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
While in this state, we can't stop the task (either through the Task.Stop() API call or through the Windows Scheduled Task interface) and are forced to restart the Task Scheduler service to free it up. &lt;br /&gt;
&lt;br /&gt;
Since the Windows interface doesn't seem to allow us to stop tasks in this condition I don't have much hope for the API, but I have to ask: Has anyone here encountered this before and found a way to deal with it and/or avoid it when using this API?&lt;br /&gt;
&lt;/div&gt;</description><author>mattbbpl</author><pubDate>Thu, 16 May 2013 15:29:50 GMT</pubDate><guid isPermaLink="false">New Post: Hung Scheduled Task Won't Stop 20130516032950P</guid></item><item><title>New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008)</title><link>http://taskscheduler.codeplex.com/discussions/443358</link><description>&lt;div style="line-height: normal;"&gt;I was using the GetTasks method.&lt;br /&gt;
Thanks, don't know why I missed that :) I have now all tasks and I can toggle if I wanna see the ones that are hidden.&lt;br /&gt;
&lt;br /&gt;
I now will try to see if I can search for a task by name and list that. &lt;br /&gt;
&lt;/div&gt;</description><author>cptrico</author><pubDate>Mon, 13 May 2013 21:21:56 GMT</pubDate><guid isPermaLink="false">New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008) 20130513092156P</guid></item><item><title>New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008)</title><link>http://taskscheduler.codeplex.com/discussions/443358</link><description>&lt;div style="line-height: normal;"&gt;I was using the GetTasks method.&lt;br /&gt;
Thanks, don't know why I missed that :) I have now all tasks and I can toggle if I wanna see the ones that are hidden.&lt;br /&gt;
&lt;br /&gt;
I now will try to see if I can search for a task by name and list that. &lt;br /&gt;
&lt;/div&gt;</description><author>cptrico</author><pubDate>Mon, 13 May 2013 21:21:56 GMT</pubDate><guid isPermaLink="false">New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008) 20130513092156P</guid></item><item><title>New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008)</title><link>http://taskscheduler.codeplex.com/discussions/443358</link><description>&lt;div style="line-height: normal;"&gt;You must be trying to use the GetTasks method. There is an easier way. Please see the &amp;quot;Enumerate all tasks&amp;quot; sample code on the &lt;a href="https://taskscheduler.codeplex.com/wikipage?title=Examples" rel="nofollow"&gt;Examples&lt;/a&gt; page.&lt;br /&gt;
&lt;/div&gt;</description><author>dahall</author><pubDate>Sun, 12 May 2013 16:38:25 GMT</pubDate><guid isPermaLink="false">New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008) 20130512043825P</guid></item><item><title>New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008)</title><link>http://taskscheduler.codeplex.com/discussions/443358</link><description>&lt;div style="line-height: normal;"&gt;You must be trying to use the GetTasks method. There is an easier way. Please see the &amp;quot;Enumerate all tasks&amp;quot; sample code on the &lt;a href="https://taskscheduler.codeplex.com/wikipage?title=Examples" rel="nofollow"&gt;Examples&lt;/a&gt; page.&lt;br /&gt;
&lt;/div&gt;</description><author>dahall</author><pubDate>Sun, 12 May 2013 16:38:25 GMT</pubDate><guid isPermaLink="false">New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008) 20130512043825P</guid></item><item><title>New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008)</title><link>http://taskscheduler.codeplex.com/discussions/443358</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
This is very cool. I am trying to setup an example console app that will list all tasks from root and subfolders. I have come so far that is has displayed the first tasks, but I can see it excludes the hidden. It requires regex it said. ? can some please help me in getting all tasks also the hidden and maybe how to retrive all tasks beneth layers of subfolders recursively.&lt;br /&gt;
&lt;br /&gt;
Thanks in advance. &lt;br /&gt;
&lt;/div&gt;</description><author>cptrico</author><pubDate>Sat, 11 May 2013 20:07:35 GMT</pubDate><guid isPermaLink="false">New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008) 20130511080735P</guid></item><item><title>New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008)</title><link>http://taskscheduler.codeplex.com/discussions/443358</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
This is very cool. I am trying to setup an example console app that will list all tasks from root and subfolders. I have come so far that is has displayed the first tasks, but I can see it excludes the hidden. It requires regex it said. ? can some please help me in getting all tasks also the hidden and maybe how to retrive all tasks beneth layers of subfolders recursively.&lt;br /&gt;
&lt;br /&gt;
Thanks in advance. &lt;br /&gt;
&lt;/div&gt;</description><author>cptrico</author><pubDate>Sat, 11 May 2013 20:07:35 GMT</pubDate><guid isPermaLink="false">New Post: show hidden tasks and get all tasks in root and all subfolders(server 2012, 2008) 20130511080735P</guid></item><item><title>New Post: Cannot have windows with handles (eg NativeWindow) when running at boot in system account???</title><link>http://taskscheduler.codeplex.com/discussions/442968</link><description>&lt;div style="line-height: normal;"&gt;I don't know if this will work, but I would try registering the task using the System or Local Service account and then assigning the EventTrigger or SessionStateChangeTrigger to call whatever action you need to take place. Make sure your action does not require access to resources (networking, files, etc.) that may not be available to the account under which you registered the task.&lt;br /&gt;
&lt;/div&gt;</description><author>dahall</author><pubDate>Thu, 09 May 2013 15:21:32 GMT</pubDate><guid isPermaLink="false">New Post: Cannot have windows with handles (eg NativeWindow) when running at boot in system account??? 20130509032132P</guid></item><item><title>New Post: Cannot have windows with handles (eg NativeWindow) when running at boot in system account???</title><link>http://taskscheduler.codeplex.com/discussions/442968</link><description>&lt;div style="line-height: normal;"&gt;I don't know if this will work, but I would try registering the task using the System or Local Service account and then assigning the EventTrigger or SessionStateChangeTrigger to call whatever action you need to take place. Make sure your action does not require access to resources (networking, files, etc.) that may not be available to the account under which you registered the task.&lt;br /&gt;
&lt;/div&gt;</description><author>dahall</author><pubDate>Thu, 09 May 2013 15:21:32 GMT</pubDate><guid isPermaLink="false">New Post: Cannot have windows with handles (eg NativeWindow) when running at boot in system account??? 20130509032132P</guid></item><item><title>New Post: COMException connecting to Windows 2012 Task Scheduler remotely</title><link>http://taskscheduler.codeplex.com/discussions/404768</link><description>&lt;div style="line-height: normal;"&gt;As I mentioned, I don't have a system to test this on, but I have an idea for someone to try. Instead of trying to get the Definition, will someone try getting the Xml and see if an exception is ever thrown? For example,&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;var ts = new TaskService(IP address, userId, domain, password);
foreach (Task task in ts.RootFolder.Tasks)
{
  Console.Writeline(task.Xml);
}&lt;/code&gt;&lt;/pre&gt;

My theory is that the 1.3 library chokes on parsing the 1.4 XML. While Microsoft may not chose to fix this, I may be able to work around it in my code. I'm also curious if there are XML results that have the 1.3 version (or earlier) as then the library could just exclude those it can't understand and work with those it can.&lt;br /&gt;
&lt;/div&gt;</description><author>dahall</author><pubDate>Thu, 09 May 2013 14:54:31 GMT</pubDate><guid isPermaLink="false">New Post: COMException connecting to Windows 2012 Task Scheduler remotely 20130509025431P</guid></item><item><title>New Post: COMException connecting to Windows 2012 Task Scheduler remotely</title><link>http://taskscheduler.codeplex.com/discussions/404768</link><description>&lt;div style="line-height: normal;"&gt;As I mentioned, I don't have a system to test this on, but I have an idea for someone to try. Instead of trying to get the Definition, will someone try getting the Xml and see if an exception is ever thrown? For example,&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;var ts = new TaskService(IP address, userId, domain, password);
foreach (Task task in ts.RootFolder.Tasks)
{
  Console.Writeline(task.Xml);
}&lt;/code&gt;&lt;/pre&gt;

My theory is that the 1.3 library chokes on parsing the 1.4 XML. While Microsoft may not chose to fix this, I may be able to work around it in my code. I'm also curious if there are XML results that have the 1.3 version (or earlier) as then the library could just exclude those it can't understand and work with those it can.&lt;br /&gt;
&lt;/div&gt;</description><author>dahall</author><pubDate>Thu, 09 May 2013 14:54:31 GMT</pubDate><guid isPermaLink="false">New Post: COMException connecting to Windows 2012 Task Scheduler remotely 20130509025431P</guid></item></channel></rss>