有没有办法将计划的任务从Windows 2003(.job)导入到Windows 2008(.xml)?

我有一些工作要从旧的生产服务器(Windows 2003服务器标准)移动到新的机器(Windows 2008服务器标准),但新的服务器无法读取旧的.job格式,导入向导也只能从.xml作业文件(相同版本)。 显然,我不想手工重build所有的工作,但是找不到一个让工作变得更容易的工具。 我不信任这种工具的微软,我以前的经验已经不好(DTS – > SSIS)。 有任何想法吗?

提前致谢。

看起来像他们在这里讨论的问题: http : //social.technet.microsoft.com/Forums/en-US/itprovistamigration/thread/76b6276b-49f2-41e2-b4ea-f537e0eb88a8

似乎目前没有这样做的批准的方法。

然而,该论坛中的一位用户发表了这样的看法

如果从vista / 2008服务器上运行schtasks,则可以将xp / 2003 schtasks导出到xml。 schtasks / query / s xpmachine / tn taskname / XML> taskname.xml然后你可以导入它。 不完美,但可以节省时间。 我使用/ fo表导出的任务打开,以优秀删除不需要的列,并创build一个batch file转储xmls然后/创build/ xml xmlfile.xml导入xmls到新的服务器。 希望这可以帮助。

所以这似乎是可能的,但它需要一些jiggery pokery。

我自己试了一下,但一直在Win2008上拒绝访问错误。 即使我是具有所有权限的networkingpipe理员。 也许别人可以做一个尝试?

编辑-解决scheme:

你在哪里得到你的工作文件可能是c:\ windows \ tasks,但是在Vista下有一个xml文件存在的新地方。 (在c:\ windows \ system32 \ tasks)如果可能的话,尝试在你的旧机器上查看。

但是,如果你无法轻易地到达原来的机器,就有办法。

  • 您需要closuresXP计算机(Schtasks.exe和Schedsvc.dll)的两个文件,它们都在Windows \ System32文件夹中,将它们复制到USB,这就是XP所需的全部内容。
  • 现在在你的Vista机器上。 把它们放在自己的vista机器上的目录下(可以说你创build了一个名为c:\ sch的目录,并把这两个文件放在那里)不要覆盖c:\ windows \ system32中的vista。
  • 重命名你的工作文件Test1.job,Test2.job,Test3.job,Test4.job并将它们复制到c:\ windows \ tasks
  • 打开命令提示符(启动程序,附件,右键单击命令提示符并select以pipe理员身份运行)
  • 现在触摸新的.job文件,让vistas调度程序采取参数。
  • 在你的命令提示符下
    键入cd c:\ sch然后input(对于我们的例子)
  • 现在对于schtasks / change / TN“Test1”/ RU Terry / RP Terry (将Test1更改为Test2,Test3,Test4)中的每个作业types,/ RP和/ RU值将不得不更改,即用户名和密码(RP为密码,RU为用户)
  • 您应该收到消息SUCCESS:计划任务“Test1”的参数已更改。 为每个工作。

完成closures命令提示符后。 从那里Windows调度程序现在知道这些,你可以使用Windows GUI来更新他们的名字,以及谁运行。

我个人尝试过,是的,它确实工作。 编写脚本只需要多一点努力。 你只需要在Vista机器上保留XP文件。 然后,您可以通过脚本将它们导出为XML。

链接: 从专家交stream

我发现另一种更容易的方式, 它需要更多的点击,但更less的实际思维。 您必须能够从Windows Server 2008计算机“连接”到旧的Windows Server 2003计算机。

在Win2k8框中,打开任务计划程序(从“pipe理工具”菜单,而不是服务器pipe理器)。 点击“任务计划程序(本地)”节点,然后在操作中,可以select“连接到另一台计算机”; 连接到你的Win2k3机器。

现在,当您点击“任务计划程序库”时,您将看到所有的Win2k3任务。 此时,您可以右键单击所需的任务,然后select“导出…”。 您现在有一个.xml文件,您可以直接导入到Win2k8任务计划程序!

虽然上面的描述手动过程的答案也适用于我,但我想要一个更简单的方法来实现它,并提出这个: http : //briandunnington.github.io/migrate-scheduled-jobs.html

从本质上讲,您将.job文件复制到c:\ windows \ tasks,然后运行脚本(提供用户名/密码),您的作业将自动转换 – 不会复制旧的dll或重命名等。