Register-Scheduledjob创建一个作业,但它永远不会在启动时运行

时间:2018-06-02 01:28:06

标签: powershell azure-template

我已经尝试了100种方法来注册schedulejob来运行一个启动程序的脚本。 没有什么似乎一贯的工作。 我最后一次尝试使用Register-ScheduledTask,这个创建作业,但在系统启动时不会自动启动有趣的是,如果我手动运行,它将在未来重启时自行启动。但如果我想自己运行一次就没有必要安排工作!

这就是我在做的事情:

$description = "Scheduling job using Tasks" 
$taskPath = "\Microsoft\Windows\PowerShell\ScheduledJobs\" 
$argument = "'Register-ScheduledJob -Name "+$scheduledJobName+" -Trigger "+$trigger+" -FilePath "+$TaskParametersPath+" -ScheduledJobOption "+$option+" -Credential "+$cred+" -RunAs32 2>&1'" 

$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument $argument 
$taskTriger = New-ScheduledTaskTrigger -AtStartup -RandomDelay 00:00:30
$job = Register-ScheduledTask -Action $action -Trigger $taskTriger -TaskName $scheduledJobName -Description $description -TaskPath $taskPath

我原来的代码是:

$job = Register-ScheduledJob -Name $scheduledJobName -Trigger $trigger -FilePath $TaskParametersPath -ScheduledJobOption $option -Credential $cred -RunAs32 2>&1

我也试过这个:

$job = Register-ScheduledJob -Name $scheduledJobName -Trigger $trigger -FilePath $TaskParametersPath -ScheduledJobOption $option -Credential $cred -Authentication Credssp 2>&1         

带触发器和选项:

$trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:30

$option = New-ScheduledJobOption -RunElevated 

$ taskParametersPath是一个powershell脚本,它启动另一个PowerShell脚本并为其传递所有必需的参数。 所有这些偶尔会起作用,但有时它无法按照我在这里的错误安排工作。当我登录到机器并尝试注册作业时,它始终有效,但是当我使用azure堆栈模板将其作为VM创建脚本的一部分运行时,它偶尔会失败。 :( 这是我得到的错误:

ERROR : FullyQualifiedErrorId :     CantRegisterScheduledJobDefinition,Microsoft.PowerShell.ScheduledJob.RegisterScheduledJobCommand
2018/06/01 23:41:47 : ERROR : Exception:Microsoft.PowerShell.ScheduledJob.ScheduledJobException: An error occurred while registering scheduled job definition VaaSRestartTask to the Windows Task Scheduler.  The Task Scheduler error is: The user name or password is incorrect. (Exception from HRESULT: 0x8007052E). ---> System.Runtime.InteropServices.COMException: The user name or password is incorrect. (Exception from HRESULT: 0x8007052E)
  at TaskScheduler.ITaskFolder.RegisterTaskDefinition(String Path, ITaskDefinition pDefinition, Int32 flags, Object UserId, Object password, _TASK_LOGON_TYPE LogonType, Object sddl)
  at Microsoft.PowerShell.ScheduledJob.ScheduledJobWTS.CreateTask(ScheduledJobDefinition definition)
  at Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition.AddToWTS()
  at Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition.Register()
  --- End of inner exception stack trace ---
  at Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition.Register()
  at    Microsoft.PowerShell.ScheduledJob.RegisterScheduledJobCommand.ProcessRecord()
2018/06/01 23:41:47 : ERROR : Category:InvalidOperation: (Microsoft.Power...edJobDefinition:ScheduledJobDefinition) [Register-ScheduledJob], ScheduledJobException

0 个答案:

没有答案