参考文档

Task Scheduler Api文档
Api文档里帮助最大的一页,是关于注册任务方法内每一个参数的定义 文章里讲了怎么用API建一个任务出来,有参考意义

代码

$TaskName = "TaskName" $TaskDescr = "Task Description." $TaskCommand = "c:\windows\system32\WindowsPowerShell\vl.0\powershell.exe" $TaskScript = "D:\ScriptPath\script.psl" $TaskArg = "-ExecutionPolicy Bypass -NoProfile -File $TaskScript" $Time ="03:00:00" $TaskStartTime = [datetime]$Time $service = new-object -ComObject("schedule.Service") $service.Connect() $rootFolder = Sservice.GetFolder("\") $TaskDefinition = Sservice.NewTask(0) $TaskDefinition.RegistrationInfo.Description = "$TaskDescr" $TaskDefinition.Settings.Enabled = $true $TaskDefinition.Settings.AllowDemandStart = $true $TaskDefinition.Principal.RunLevel = 1 $triggers = $TaskDefinition.Triggers $trigger = $triggers.Create(4) $trigger.DaysofMonth = 1 $trigger.startBoundary = $TaskStartTime.Tostring("yyyy-MM-dd'T'HH:mm:ss") $trigger.Enabled = $true $Action = $TaskDefinition.Actions.create(0) $action.Path = "$TaskCommand" $action.Arguments = "$TaskArg" $rootFolder.RegisterTaskDefinition("$TaskName" "$TaskDefinition",6,"s-1-5-21-965699252-1853665932-387144383-16481",$null,1) #这里的sid是gmsa的sid