如何使用.NET Framework获取为Windows计划任务的触发器显示的文本?

时间:2017-05-20 13:40:38

标签: .net windows powershell scheduled-tasks

正如我今天所了解的那样,通过PowerShell中的Get-ScheduledTask命令,我可以检索有关计划任务的大量信息,以及根据以下模式打印出来的Triggers属性的触发器: / p>

Enabled            : True
EndBoundary        : 
ExecutionTimeLimit : 
Id                 : 
Repetition         : MSFT_TaskRepetitionPattern
StartBoundary      : 2016-03-06T03:00:00
DaysOfWeek         : 16
RandomDelay        : 
WeeksInterval      : 1
PSComputerName     : 

但是为了用户友好的输出消息,我希望收到在Windows任务规划器中观看触发器时可以看到的显示文本:

Credits: http://winaero.com/blog/wp-content/uploads/2016/08/Windows-10-the-list-of-triggers-600x344.png (学分:http://winaero.com/blog/wp-content/uploads/2016/08/Windows-10-the-list-of-triggers-600x344.png

那么如何通过.NET Framework(在PowerShell中)提取“在任何用户登录时”的“详细信息”文本?我无法找到Get-ScheduledTask返回类型的此类成员。 (我还看了一下.NET TaskScheduler class,虽然遗憾的是只看待单个进程的内部结构。)

你知道为此目的的任何方法吗?或者我是否必须手动生成显示文本?

问候。

1 个答案:

答案 0 :(得分:0)

任务的详细信息以XML(返回的任务对象的XLM属性)提供。

$taskinfo = [xml](Get-ScheduledTask <taskname>).xml 
$taskinfo.task.triggers

应提供有关任务触发器的信息。