在Powershell 3.0中安排工作

时间:2013-06-24 23:40:28

标签: scheduled-tasks powershell-v3.0

我正在处理PS脚本,该脚本将在计算机登录后运行任务。以下是我安排任务的方式:

$trigger = New-JobTrigger -AtLogOn
Register-ScheduledJob -Name TestSchedule -FilePath <filepath> -Trigger $trigger

计划运行的脚本除了启动命令提示符之外什么都不做,但是一旦我登录到计算机就没有运行任何东西。我尽力修补它,但我一无所获。

2 个答案:

答案 0 :(得分:0)

也许不是最好的解决方案,但您可以尝试将其他脚本放入此“作业脚本”中。像这样。对我来说很好。

$jobname     = "xyz"
$JobTrigger  = New-JobTrigger -Weekly -At "03:00 AM" -DaysOfWeek Saturday
$MyOptions   = New-ScheduledJobOption -ContinueIfGoingOnBattery -HideInTaskScheduler
Register-ScheduledJob -name "$jobname" -scriptblock {$myscript} -trigger $JobTrigger –ScheduledJobOption $MyOptions

答案 1 :(得分:-1)

我认为您的代码缺少此命令:

Set-ScheduledTask -TaskName $name -TaskPath Microsoft\Windows\PowerShell\ScheduledJobs -Principal (New-ScheduledTaskPrincipal -L Interactive -U $env:USERNAME)

$name是您的预定工作的名称,此命令使作业与用户交互,如果您的代码仍然不起作用,请查看此脚本: https://gallery.technet.microsoft.com/scriptcenter/PC-Utilities-Downloader-355e5bfe