我正在尝试使用PowerShell创建一个Windows计划任务,以便在任何用户登录时运行一个.exe,然后每分钟重新运行一次,并无限期地每分钟运行一次。
$computer = $env:ComputerName
$taskName = "MyTask"
$L = New-ScheduledTaskAction –Execute "PowerShell.exe" -Argument "$dropboxPath\request\Scripts\File_Permissions.ps1"
$T = New-ScheduledTaskTrigger -AtLogOn
$P = New-ScheduledTaskPrincipal -UserId "$env:ComputerName\$adminname" -LogonType Password -RunLevel Highest
$S = New-ScheduledTaskSettingsSet
Register-ScheduledTask -TaskName $taskName -Action $L -Trigger $T -User $adminname -Password $adminpassword -Settings $S
$T.RepetitionInterval = (New-TimeSpan -Minutes 1)
$T.RepetitionDuration = ([timespan]::MaxValue)
Set-ScheduledTask $taskName -Trigger $T我的脚本给出了一个错误,它不像RepetitionInterval和RepetitionDuration。
我在网上找了好久都找不到这份工作。下面是另一个同样失败的尝试:
$computer = $env:ComputerName
$L = New-ScheduledTaskAction –Execute "PowerShell.exe" -Argument "$dropboxPath\request\Scripts\File_Permissions.ps1"
$T = @()
$T += New-ScheduledTaskTrigger -AtLogOn -User *
$T += New-ScheduledTaskTrigger -AtLogOn -RepetitionInterval (New-TimeSpan -Minutes 1) -RepetitionDuration ([timespan]::MaxValue)
$P = New-ScheduledTaskPrincipal -UserId "$env:ComputerName\$adminname" -LogonType Password -RunLevel Highest
$S = New-ScheduledTaskSettingsSet
Register-ScheduledTask -TaskName "MyTask" -Action $L -Trigger $T -User $adminname -Password $adminpassword -Settings $S发布于 2016-12-12 19:25:22
好了,我已经从另一个用户(4c74356b41 (谢谢))那里获得了上面的内容,并对其进行了一些修改,现在我已经将其作为最终版本:
$computer = $env:ComputerName
$taskName = "MyTask"
$L = New-ScheduledTaskAction –Execute "PowerShell.exe" -Argument "c:\request\Scripts\File_Permissions.ps1"
$T = New-ScheduledTaskTrigger -AtLogOn
$P = New-ScheduledTaskPrincipal -UserId "$env:ComputerName\$adminname" -LogonType Password -RunLevel Highest
$S = New-ScheduledTaskSettingsSet
Register-ScheduledTask -TaskName $taskName -Action $L -Trigger $T -User $adminname -Password $adminpassword -Settings $S
$task = get-scheduledtask -TaskName $taskName
$task.Triggers.repetition.Interval = 'PT01M'
$task.Triggers.repetition.Duration = 'P1D'
$task | Set-ScheduledTask -User $adminname -Password $adminpassword发布于 2016-12-12 19:03:25
我假设您应该使用以下代码:
Register-ScheduledTask -TaskName $taskName -Action $L -Trigger $T -User $adminname -Password $adminpassword -Settings $S
$task = get-scheduledtask -TaskName $taskName
$task.Triggers.repetition.Duration = 'PT60M'
$task.Triggers.repetition.Interval = 'PT01M'
$task | Set-ScheduledTask摘自here。
https://stackoverflow.com/questions/41099193
复制相似问题