我的任务计划程序中有一个任务,它每晚只运行一些Powershell脚本。有时我需要手动运行这个任务,如果在我的脚本中可以确定这是一个手动还是基于触发器的运行,那将是很好的。
有什么办法吗?
答案 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
}