Windows任务计划程序 - 是否可以区分手动和基于时间的触发任务运行?

时间:2014-02-20 10:58:30

标签: powershell scheduled-tasks

我的任务计划程序中有一个任务,它每晚只运行一些Powershell脚本。有时我需要手动运行这个任务,如果在我的脚本中可以确定这是一个手动还是基于触发器的运行,那将是很好的。

有什么办法吗?

2 个答案:

答案 0 :(得分:2)

您可以查看schduler事件日志:

get-winevent Microsoft-Windows-TaskScheduler/Operational -MaxEvents 3

100个ID事件将具有启动任务的用户名,以及该实例的实例ID(guid)。接下来是一个200事件,它具有实例ID和进程ID,如果你想在脚本中将它与$ PID匹配,以验证它是当前进程。

答案 1 :(得分:0)

$t = Get-ScheduledTask "YourTaskName"

if($t.State.ToString() -eq "Running"){
    # scheduled task code
}
else{
    # manual run code
}