從 Windows 2003 R2 搬移工作排程到 Windows 2012 R2

問題描述

因舊實體機不堪使用,所以打算將主機工作排程轉移到新建虛擬主機,但由於 Windows 2003 R2 無法直接匯出工作排程給 Windows 2012 R2 ,所以依照網路上找到的幾個做法成功轉移到 Windows 2012 R2。







解決方式

將 Windows 2003 R2 的排程檔跟schtasks.exe、schedsvc.dll複製到特定資料夾,在 Windows 2012 R2 主機內以指令的方式匯入。


一、複製所需檔案到特定資料夾

    在 c:\temp底下建立 Dest_Folder 資料夾,並於資料夾中建立 ExportJob.bat,批次檔內容如下:


    copy %systemroot%\system32\schtasks.exe c:\temp\Dest_Folder
    copy %systemroot%\system32\schedsvc.dll c:\temp\Dest_Folder
    copy %systemroot%\Tasks\*.job c:\temp\Dest_Folder



    二、將Dest_Folder資料夾複製到目的主機,將 schtasks.exe, schedsvc.dll 複製到 %systemroot%\system32,再將所有匯出的.job檔複製到 %systemroot%\Tasks,之後建立 AddScheduleTask.bat 並執行,批次檔內容如下:

    for /f "delims=" %%i in ('dir /b /a-d-h-s *.job') DO (
     schtasks /change /TN "%%~ni" /RU 工作排程帳號 /RP 排程帳號密碼
    )





    、確認工作排程是否建立及狀態


    視情況需修改執行版本,如下圖。







    心得與觀察

    使用批次檔的方式比較方便,如果使用 powershell 的話有安裝 powershell 環境及執行權限的事前準備要做。




    參考資料

    1. [Windows] 將 Windows 2003 的排程轉移至 Windows 2008
    2. Script to migrate scheduled tasks from Windows XP/Server 2003 to 7/Server 2008


    留言

    熱門文章