我正在尝试使用 powershell 创建一个计划任务,该任务应该在每月 1 日运行,但我不知道如何以每月间隔使用 New-ScheduledTaskTrigger。
例如:
$jobName = "Backup_EMR_Data"
$action = New-ScheduledTaskAction -Execute $actionName -Argument $arg -WorkingDirectory $SSISPackagePath
$trigger = New-ScheduledTaskTrigger -Daily -At 12:30AM
$settings = New-ScheduledTaskSettingsSet
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
Register-ScheduledTask $jobName -InputObject $task -TaskPath $taskPath -User $userName -Password $password
答案1
我不知道如何以每月间隔使用 New-ScheduledTaskTrigger。
$triggers = $TaskDefinition.Triggers $trigger = $triggers.Create(1) # Creates a "One time" trigger
现在,如果我们想要多次运行该任务,比如说按月运行,我们必须更改并添加一些代码上面的代码使用 Create(1),这意味着触发器设置为运行一次。
$trigger = $triggers.Create(1) # Creates a "One time" trigger
如果我们想使用另一个计划,我们必须使用以下值之一,详细解释如下这里。
TASK_TRIGGER_EVENT 0 TASK_TRIGGER_TIME 1 TASK_TRIGGER_DAILY 2 TASK_TRIGGER_WEEKLY 3 TASK_TRIGGER_MONTHLY 4 TASK_TRIGGER_MONTHLYDOW 5 TASK_TRIGGER_IDLE 6 TASK_TRIGGER_REGISTRATION 7 TASK_TRIGGER_BOOT 8 TASK_TRIGGER_LOGON 9 TASK_TRIGGER_SESSION_STATE_CHANGE 11
因此假设我们想要在每月的第一天运行任务,那么我们必须按如下方式更改代码。
$trigger = $triggers.Create(4) $trigger.DaysOfMonth = 1