首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell v3新-每天重复的工作触发器

Powershell v3新-每天重复的工作触发器
EN

Stack Overflow用户
提问于 2012-10-07 20:21:04
回答 7查看 10.5K关注 0票数 7

Powershell v3附带了所有这些新的作业调度cmdlet。它们看起来很棒,但我在创建特定的触发器时遇到了麻烦。我需要每天运行一个作业,在特定的时间间隔内每小时重复一次。

使用Task-Scheduler UI很简单,但我找不到使用New-JobTrigger cmdlet的方法。

如果我使用Daily参数集,我没有重复选项:

代码语言:javascript
复制
New-JobTrigger [-Daily] -At <DateTime> [-DaysInterval <Int32> ] [-RandomDelay <TimeSpan> ] [ <CommonParameters>]

如果我使用一次参数集,我就不能使用Daily选项

代码语言:javascript
复制
New-JobTrigger [-Once] -At <DateTime> [-RandomDelay <TimeSpan> ] [-RepetitionDuration <TimeSpan> ] [-RepetitionInterval <TimeSpan> ] [ <CommonParameters>]

我需要的,但显然不起作用的,是两者的混合。例如:

代码语言:javascript
复制
New-JobTrigger -Daily -At xxxx -RepetitionDuration (New-TimeSpan -Hours 5) -RepetitionInterval (New-TimeSpan -Hours 1)

有可能吗?也许在同一个作业中混合了几个触发器?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-11-30 04:59:38

这对我来说很有效:

注意-我知道最初的问题与New-JobTrigger有关,其目的是提供一个可能的解决方案,该解决方案也可以翻译为New-JobTrigger,因为该问题适用于这两个问题。

代码语言:javascript
复制
$A = New-ScheduledTaskAction -execute "powershell" -argument "-nologo -noprofile -noninteractive C:\MyScript.ps1"
$T = New-ScheduledTaskTrigger -Once -At 03:00AM 
Register-ScheduledTask -TaskName StartBasicServices_Local -Trigger $T -Action $A -description "MyScript" -User "NT AUTHORITY\SYSTEM" -RunLevel 1      
$T.RepetitionInterval = (New-TimeSpan -Minutes 5)
$T.RepetitionDuration = (New-TimeSpan -Days 1)
Set-ScheduledTask StartBasicServices_Local -Trigger $T
票数 5
EN

Stack Overflow用户

发布于 2012-10-08 20:31:20

我已经在这个问题上工作了一整天,我终于有了答案。你不能。不管怎么说都不用那些cmdlet。起初,我认为这可能是一种变通方法:

代码语言:javascript
复制
$Job = Register-ScheduledJob -Name "YourJobName"  {Gci};
$RepeatTrigger = New-JobTrigger -Once -At (Get-Date 10:00).ToShortTimeString()  -     RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-TimeSpan -Hours 7);
$RepeatTrigger.Frequency = [Microsoft.PowerShell.ScheduledJob.TriggerFrequency]::Daily;
Add-JobTrigger -InputObject $Job -Trigger $RepeatTrigger

然而,事实并非如此。使用trace-command,它看起来像是根据参数集验证属性。使用schtask时也是如此:

代码语言:javascript
复制
schtasks /create /tn YourTask /tr notepad.exe /sc Hourly 

它将每小时创建一次,但这将再次成为一次性任务。从外观上看,COM有一个.Net包装器,如果您是PoSH新手,它可能是您最好的选择。你可以在CodePlex上找到它。

票数 1
EN

Stack Overflow用户

发布于 2014-08-06 23:40:35

我知道Add-JobTrigger,但我不知道如何实现我的特定需求:每天运行一个作业,每小时重复一次,持续一段时间。例如:每天上午10点,每隔1小时重复一次,直到下午5点- scarmuega Oct 7 '12在18:14

使用Register-ScheduledJob创建作业。然后添加每日触发器。如果我们能做到这一点就太好了,但是在PowerShell 4.0中-Daily不能工作。继续读下去,我有一个替代方案给你。

代码语言:javascript
复制
# Technet: http://technet.microsoft.com/en-us/library/hh849759.aspx
# To create a repeating schedule, use the Once parameter with the RepetitionDuration and RepetitionInterval parameters.
# -RepetitionInterval Repeats the job at the specified time interval. For example, if the value of this parameter is 2 hours, the job is triggered every two hours.
#  The default value, 0, does not repeat the job.
# -RepetitionDuration Repeats the job until the specified time expires. The repetition frequency is determined by the value of the RepetitionInterval parameter. 
#  For example, if the value of RepetitionInterval is 5 minutes and the value of RepetitionDuration is 2 hours, the job is triggered every five minutes for two hours.
#
$trigger = New-JobTrigger -Daily -At 10:00 -RepetitionDuration 7:00:00 -RepetitionInterval 1:00:00 -DaysofWeek 
Register-ScheduledJob -Name Test -Trigger $trigger -ScriptBlock {}

你可以组织你的工作,让它在你想要的每一个小时都有一个触发器。

代码语言:javascript
复制
$trigger4am  = New-JobTrigger -Daily -At 04:10
Register-ScheduledJob -Name ArchiveProd -Trigger $trigger4am -ScriptBlock {E:\ArchiveProd.ps1}

$trigger8am  = New-JobTrigger -Daily -At 08:10
$trigger12pm = New-JobTrigger -Daily -At 12:10
$trigger6pm  = New-JobTrigger -Daily -At 18:10
Add-JobTrigger -Trigger $trigger8am  -Name ArchiveProd
Add-JobTrigger -Trigger $trigger12pm -Name ArchiveProd
Add-JobTrigger -Trigger $trigger6pm  -Name ArchiveProd

希望这就是你需要的。它对我的情况很好,尽管我更喜欢只添加Daily参数。也许没人能帮我改进一下?

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

https://stackoverflow.com/questions/12768769

复制
相关文章

相似问题

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