有一个 main.ps1 文件上传到设备,因此它可以创建分发时运行所需的所有必要任务。在这个 main.ps1 文件中,我添加了代码来创建新任务,但与其他任务不同,它需要多个操作,并且我不确定如何在代码设置的上下文中添加更多操作。 main.ps1 最初是由一个已经离开的人创建的,我只是对其进行添加。相关代码如下。任务中最好有 3 个操作。
$taskCommand = "c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe"
$taskStartTime = [datetime]::Now.AddMinutes(1)
$taskArguments="-WindowStyle Hidden -NonInteractive -Executionpolicy unrestricted"
$service = new-object -ComObject("Schedule.Service")
$service.Connect()
$rootFolder = $service.GetFolder("\")
$iscreate77Task=$true
Function set77Definition {
param ($tDefinition,$tDesc, $tInterval, $tArgs)
$tDefinition.RegistrationInfo.Description = "$tDesc"
$tDefinition.Settings.Enabled = $true
$tDefinition.Settings.AllowDemandStart = $true
$tDefinition.Settings.DisallowStartIfOnBatteries=$false
$tDefinition.Settings.RunOnlyIfNetworkAvailable=$true
$tDefinition.Settings.ExecutionTimeLimit="PT1H"
$tDefinition.Principal.RunLevel =1
$triggers = $tDefinition.Triggers
$trigger = $triggers.Create(2)
$trigger.StartBoundary = $taskStartTime.ToString("yyyy-MM-dd'T'HH:mm:ss")
#$trigger.Repetition.Interval= "PT"+"$tInterval"+"M"
$trigger.Enabled = $false
$action = $tDefinition.Actions.Create(0)
$action.Path = "$taskCommand"
$action.Arguments = "$tArgs"
}
Function create77Task {
param(
$taskName = "Run_77",
$taskScript = "C:\code-client\Run_77.ps1",
$taskDescr = "Starts and stops process to facilitate launching 77",
$taskArg = "$taskArguments -file $taskScript",
$taskDefinition = $service.NewTask(0),
$interval=2
)
set77Definition -tDefinition $taskDefinition -tDesc $taskDescr -tInterval $interval -tArgs $taskArg
$rootFolder.RegisterTaskDefinition("$taskName",$taskDefinition,6,"System",$null,5)
}
if($iscreate77Task){
create77Task
}