從 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 主機內以指令的方式匯入。一、複製所需檔案到特定資料夾
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 20082. Script to migrate scheduled tasks from Windows XP/Server 2003 to 7/Server 2008
留言