【问题标题】:Run scheduletask after some time interval once it's created一旦创建了 scheduletask 在一段时间间隔后运行
【发布时间】:2017-08-23 18:35:12
【问题描述】:

我正在尝试创建一个计划任务,该任务在创建后将在几秒钟后运行。

我正在尝试以下操作,但看起来我正在错误地执行计划触发器。

有什么帮助或想法吗?

$time = Get-Date -Format T
ipmo ScheduledTasks 
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -command "& {stop-process -processname "notepad*"}"' 
$trigger =  New-ScheduledTaskTrigger -Once -At $time -RandomDelay (New-TimeSpan -Seconds 7)
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "My Task" -Description "Task to disable service" 

【问题讨论】:

  • 您打算运行一次任务吗?创建后随机延迟?
  • 是...我只想在创建任务后运行一次......并且任务应该在创建后 7 秒后运行
  • 这样做有什么用?你想完成什么?
  • 假设我有工作在一个系统中运行,该系统有 1)presteps 2)mycustomjob 3) poststep ..在最后一步我的工作我将创建一个计划任务,它将安排它在几秒钟后运行...这将为完成后步骤提供时间.....因为后步骤完成后几秒钟后......我的计划任务将开始其工作

标签: powershell scheduled-tasks


【解决方案1】:

下面的sn -p会创建定时任务,执行后7秒运行。

$Params = @{
  Action = (New-ScheduledTaskAction -Execute 'powershell' -Argument '-NoProfile -WindowStyle Hidden -Command "Stop-Process -Name notepad*"')
  Trigger = (New-ScheduledTaskTrigger -Once -At (Get-Date).AddSeconds(7))
  TaskName = 'My Task'
  Description = 'Task to disable service'
}
Register-ScheduledTask @Params

【讨论】:

  • 谢谢,仅将“-Once -At (Get-Date).AddSeconds(7))”更新为我的代码即可。
  • 请将')'添加到-Action语句以解决错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-19
  • 2021-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多