首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell计划任务

PowerShell计划任务
EN

Stack Overflow用户
提问于 2016-12-12 18:52:05
回答 2查看 570关注 0票数 1

我正在尝试使用PowerShell创建一个Windows计划任务,以便在任何用户登录时运行一个.exe,然后每分钟重新运行一次,并无限期地每分钟运行一次。

代码语言:javascript
复制
$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。

我在网上找了好久都找不到这份工作。下面是另一个同样失败的尝试:

代码语言:javascript
复制
$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
EN

回答 2

Stack Overflow用户

发布于 2016-12-12 19:25:22

好了,我已经从另一个用户(4c74356b41 (谢谢))那里获得了上面的内容,并对其进行了一些修改,现在我已经将其作为最终版本:

代码语言:javascript
复制
$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
EN

Stack Overflow用户

发布于 2016-12-12 19:03:25

我假设您应该使用以下代码:

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41099193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档