Nea*_*ers 3 powershell scheduled-tasks eventtrigger
我发现与 ScheduledTask cmdles 相关的错误给出了极其神秘的错误。我想安排一个测试任务每 1 分钟运行一次并永远重复。这是我正在尝试的,但没有成功:
cls
#$Action = New-ScheduledTaskAction -Execute "e:\Scripts\TestClusteredTask.cmd"
$DurationTimeSpan = New-TimeSpan -Minutes 1
$DurationTimeSpanIndefinite = ([TimeSpan]::MaxValue)
$DurationTempTest = New-TimeSpan -Days 1000
$Trigger = New-ScheduledTaskTrigger -Daily -At "00:01" -RepetitionInterval $DurationTimeSpan -RepetitionDuration $DurationTempTest
Run Code Online (Sandbox Code Playgroud)
也试过这个:
$Trigger = New-ScheduledTaskTrigger -Daily -At "00:01" -RepetitionInterval $DurationTimeSpan -RepeatIndefinitely
Run Code Online (Sandbox Code Playgroud)
错误输出:
New-ScheduledTaskTrigger : Parameter set cannot be resolved using the specified named parameters.
At C:\Users\nwalters\Documents\AddTestClusteredTask.ps1:6 char:12
+ $Trigger = New-ScheduledTaskTrigger -Daily -At "00:01" -RepetitionInterval $Dura ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-ScheduledTaskTrigger], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,New-ScheduledTaskTrigger
Run Code Online (Sandbox Code Playgroud)
我正在参考此网页以获取说明。http://technet.microsoft.com/en-us/library/hh849759.aspx
Win 2012/R2 上的 Powerhsell 版本 4
小智 9
我发现您可以在将触发器链接到任务之前对其进行修改。我的脚本每天在 8:00 点生成一个带有触发器的任务。任务每 60 分钟(1 小时)重复一次,随机延迟 30 分钟:
$Prog = $env:systemroot + "\system32\WindowsPowerShell\v1.0\powershell.exe"
$Opt = "-nologo -noninteractive -noprofile -ExecutionPolicy BYPASS -file \\mydomain.local\NETLOGON\Monitoring\monitoring.ps1"
$Action = New-ScheduledTaskAction -Execute $Prog -Argument $Opt
$Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 1 -RandomDelay "00:30" -At "08:00"
$Trigger.Repetition = $(New-ScheduledTaskTrigger -Once -RandomDelay "00:30" -At "08:00" -RepetitionDuration "12:00" -RepetitionInterval "01:00").Repetition
$Principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
$Task = Register-ScheduledTask -Action $Action -Trigger $Trigger -Principal $Principal -TaskName "Monitor-PS1-V001" -Description "Starts Monitoring-Script" -Force
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索并没有找到好的解决方案。希望有人可以使用我的“想法”
问候罗伯特
根据技术网,这是您正在使用的数据集
Parameter Set: Daily
New-ScheduledTaskTrigger [-Daily] -At <DateTime> [-DaysInterval <Int32> ] [-RandomDelay <TimeSpan> ] [ <CommonParameters>]
Run Code Online (Sandbox Code Playgroud)
在你的例子要指定-RepetitionInterval
和-RepetitionDuration
哪个是部分-Once
参数集。
Parameter Set: Once
New-ScheduledTaskTrigger [-Once] -At <DateTime> [-RandomDelay <TimeSpan> ] [-RepetitionDuration <TimeSpan> ] [-RepetitionInterval <TimeSpan> ] [ <CommonParameters>]
Run Code Online (Sandbox Code Playgroud)
这就是为什么你会得到一个歧义错误。它不知道您使用的是哪个参数集。
FullyQualifiedErrorId : AmbiguousParameterSet,New-ScheduledTaskTrigger
Run Code Online (Sandbox Code Playgroud)
因此,您需要指定-Once
是否要使用这些其他参数。
归档时间: |
|
查看次数: |
20054 次 |
最近记录: |