2013-06-24 48 views
0

我在PS脚本一旦计算机已被记录,将运行一个任务,工作在这里工作是怎么安排任务:计划使用PowerShell 3.0

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

调度运行该脚本不执行任何操作但是启动命令提示符,但是一旦我登录到计算机,就没有运行。我尽力修补这一切,但我什么也得不到。

+0

您是否指定脚本文件的完整(绝对)路径?如果您通过任务计划程序或“Get-ScheduledJob |启动Job'? – alroc

+0

@alroc我正在使用完整路径。到目前为止,我试图在任务调度程序中手动运行它,但不起作用。我会尝试'Get-ScheduledJob |开始作业“ – RandellK02

+0

您可能需要以管理员身份运行作业。看到这里:https://stackoverflow.com/questions/6239647/using-powershell-credentials-without-being-prompted-for-a-password/6240319#6240319 和在这里:https://gist.github.com/ wpsmith/4190b9a03bc1544a7df5 – felixmc

回答

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

我觉得你的代码没有这个命令:

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

$name是你scheduledjob的名字,这个命令使工作互动的用户,如果你的代码仍然不工作,检查出这个脚本: https://gallery.technet.microsoft.com/scriptcenter/PC-Utilities-Downloader-355e5bfe