我正在使用powershell的Register-ScheduledTask模块来创建一个在每个月的第一天运行的调度任务。
Register-ScheduledTask -Xml (Get-Content -Path PathtoXml.xml | Out-String) -TaskName TaskName"xml包含以下内容:
<Triggers>
<CalendarTrigger>
<StartBoundary>2017-12-01T11:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByMonth>
<DaysOfMonth>
<Day>1</Day>
</DaysOfMonth>
<Months>
<January />
<February />
<March />
<April />
<May />
<June />
<July />
<August />
<September />
<October />
<November />
<December />
</Months>
</ScheduleByMonth>
</CalendarTrigger>
我面临的问题是StartBoundary。我不想给StartBoundary提供一个固定的日期,因为过去的日期不会激活任务。这也是一个强制性的参数。
有没有什么我可以做到的?
发布于 2020-06-04 04:46:47
你做了一个错误的假设。StartBoundary可以是过去的时间。任务的执行将相对于StartBoundary中设置的时间进行。在这种情况下,日期无关紧要。日期也可以是将来的时间。然后,该任务将在该日期之后才会运行。
要激活您的任务,您还需要启用它:
<Settings>
<Enabled>true</enabled>
</Settings>发布于 2018-04-06 15:45:49
如果问题是XML文件中有一个过期的占位符日期,并且您需要在每次使用该文件时对其进行更新,一种方法是在读取内容时进行简单的文本替换。例如,此代码将在5分钟后将占位符与日期交换:
$xml = (Get-Content -Path PathtoXml.xml -Raw) -replace `
"(?<=<StartBoundary>).*(?=</StartBoundary>)", (Get-Date).AddMinutes(5).ToString('s')https://stackoverflow.com/questions/49685787
复制相似问题