Windows 2003计划任务Cmdlet(v 1.0)

时间:2020-03-05 18:44:47  来源:igfitidea点击:

有谁知道在XP / 2003中用于自动执行任务计划程序的powershell cmdlet?如果我们曾经尝试过使用schtask进行工作,那么我们会感到非常痛苦。

解决方案

回答

我们不需要PowerShell即可自动执行任务计划程序,可以在XP中使用SCHTASKS命令。

根据Wikipedia的介绍,可以通过COM访问Task Scheduler 2.0(Vista和Server 2008)。

回答

不是"本机" PowerShell,但是如果我们以管理员身份运行powershell.exe,则我们应该有权使用" at"命令,该命令可用于计划任务。

回答

好的,Pablo引起了我的兴趣,说可以通过COM访问调度程序。

在PowerShell中,我们可以执行以下操作:

$svc = new-object -com Schedule.Service

...这为我们提供了任务计划程序的句柄。我们可以查看其使用了哪些成员:

$svc | get-member

它的方法之一是NewTask,所以我从这里开始。

编辑:这里有更多信息。这是一个VBScript示例,但将为我们提供要点。

回答

这是一篇很好的文章(一定要阅读其中的其他链接文章),该文章讨论在远程计算机上查看计划任务。这并不是我们所要的,但它应该使我们朝着正确的方向前进。

回答

@(EBGreen)
Win32_ScheduledJob类仅适用于预定作业。

Windows 2000 and Windows NT 4.0:  You
  can use the Scheduled Tasks UI to
  modify the task you originally created
  with WMI. However, although the task
  is successfully modified, you can no
  longer access the task using WMI.

使用com对象Schedule.Service的其他解决方案也不是2003年的选项。

the question is can we use script,
  PowerShell in particular to retrieve
  the tasks scheduled using Task
  Scheduler API? Yes, we can! But you
  will need Windows Vista to accomplish
  that.

干杯

回答

@slipsec:我没有访问2003服务器的权限,但是使用谷歌搜索" 2003服务器" SCHTASKS时,存在与该问题有关的链接。也许我们拼错了命令?
就像Matt所说的那样,我们也可以使用AT,但是在这种情况下,我们将无法通过"控制面板"访问已计划的任务,而只能通过AT命令访问。