【问题标题】:PowerShell scheduled taskPowerShell 计划任务
【发布时间】:2016-12-12 19:25:22
【问题描述】:

我正在尝试使用 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。

Beed 在互联网上寻找年龄,但无法获得这项工作。这是另一个失败的尝试:

$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

【问题讨论】:

  • 请发布确切的错误信息

标签: powershell


【解决方案1】:

好的,我从其他用户(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

【讨论】:

    【解决方案2】:

    我认为你应该使用这个:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 2021-08-25
      • 1970-01-01
      相关资源
      最近更新 更多