繁体   English   中英

PowerShell计划任务

[英]PowerShell scheduled task

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

我假设您应该使用此:

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

这里带走的。

好的,我已经从其他用户那里获取了上述内容(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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM