Microsoft任务计划程序“Schedule.service”中的GetRuntimes方法

时间:2017-08-09 19:22:11

标签: vba vbscript

我正在研究VBA中的代码,试图确定下几个计划任务何时运行。我正在使用任务计划程序COM对象(Schedule.Service)。我可以使用NextRunTime属性枚举所有任务,所有触发器,甚至显示下一个运行时间。我接下来的是接下来的几个运行时。 Microsoft拥有GetRunTimes方法documented,听起来就像我追求的那样。但是无论何时我尝试使用该方法,我都会得到该对象不支持属性方法的错误。

我在VBA,VBS和PowerShell中都尝试过相同的结果。我试过两台Windows 7 PC,Windows 2008 R2和Windows 2012,但都有相同的结果。在一台Windows 7 PC上,Get-Member显示该方法,但出现错误“找不到GetRunTimes的重载”。 COM对象浏览器也不显示该方法。

我以前从未遇到过这个问题,但我不会一直编码。就好像微软记录了它,但却把它遗漏了。有没有人成功使用了Task Scheduler对象的GetRunTimes方法?

我在VBA中遇到的错误是

  

运行时错误'438':对象不支持此属性或方法

一旦到达GetRunTimes

,就会发生这种情况

以下是代码的一部分:

Set objTS = CreateObject("Schedule.Service")
objTS.Connect (strComputer)

Set rootFolder = objTS.GetFolder("\")
Set ColTasks = rootFolder.GetTasks(0)

If ColTasks.Count = 0 Then
    tmpArray(0) = ""
Else
    For Each task In ColTasks
        With task
            If .Name = "RebootSchedule" Then
                Set triggers = task.Definition.triggers
                'This next line generates the error, everything else works)
                Set runtimes = .GetRunTimes("8/1/2017", "9/1/2017")
                ...

0 个答案:

没有答案