gpt4 book ai didi

powershell - 如何从powershell获取与任务调度程序中的任务相关的触发器详细信息

转载 作者:行者123 更新时间:2023-12-02 23:59:50 26 4
gpt4 key购买 nike

所以,基本上我需要获取与在任务调度程序中创建的任务相关联的触发器详细信息。
enter image description here

所以,基本上我想要这些我将在这个触发窗口中设置的信息,例如每天或每周,重复任务持续时间以及持续时间等。

现在可以得到以下信息。

Name            : LastTaskResult
Value : 0
CimType : UInt32
Flags : Property, ReadOnly, NotModified
IsValueModified : False

Name : NextRunTime
Value : 23-09-2015 11:26:56
CimType : DateTime
Flags : Property, ReadOnly, NotModified
IsValueModified : False

Name : NumberOfMissedRuns
Value : 0
CimType : UInt32
Flags : Property, ReadOnly, NotModified
IsValueModified : False

Name : TaskName
Value : test_Task
CimType : String
Flags : Property, Key, NotModified
IsValueModified : False

Name : TaskPath
Value :
CimType : String
Flags : Property, Key, NotModified, NullValue
IsValueModified : False

所以,基本上我的要求是我有两台服务器。一个是主要的,另一个是备份的。我已经在主服务器中安排了任务,并定期将这些任务镜像(robocopy)到备份服务器,这绝对正常。

但是,当我在操作选项卡中更改触发器详细信息或参数时,它不会出现在备份服务器中,因为我只是检查任务名称是否已存在于备份服务器中,如果不是正在创建这些任务。

那么有什么方法可以检查有关触发器的详细信息(每天或每周等,重复详细信息)或操作(脚本和参数详细信息),以便我可以在我的辅助服务器中相应地更新任务。

最佳答案

你所追求的是这样的:

$task = Get-ScheduledTask -TaskName "Adobe Flash Player Updater"
$taskTrigger = $task.Triggers[0]

$taskTrigger

它应该为您提供类似于以下内容的输出:
Enabled            : True
EndBoundary :
ExecutionTimeLimit :
Id :
Repetition : MSFT_TaskRepetitionPattern
StartBoundary : 2000-01-01T09:58:00+09:30
DaysInterval : 1
RandomDelay :
PSComputerName :

编辑:另一种方法,使用 ComObject 连接代替

你可以这样做:
$taskService = New-Object -ComObject "Schedule.Service"
$taskService.Connect($env:COMPUTERNAME)

$rootTaskFolder = $taskService.GetFolder("\")
$task = $rootTaskFolder.GetTask("Adobe Flash Player Updater")
$task

这将返回任务的定义。然后你可以使用 Compare-Object查看它在备份服务器上是否相同,如果不同,则导出/导入任务。

如果您想解析 XML,您可以执行以下操作:
$parsedXML = [xml]$task.xml

然后,您可以通过执行以下操作来比较触发器:
Compare-Object -DifferenceObject $remoteServerParsedXML.GetElementsByTagName("Triggers") -ReferenceObject $parsedXML.GetElementsByTagName("Triggers")

这是否更接近您想要实现的目标?

关于powershell - 如何从powershell获取与任务调度程序中的任务相关的触发器详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32731366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com