LoginSignup
7
7

More than 5 years have passed since last update.

Windows Server 2003 タスクスケジューラー移行

Last updated at Posted at 2014-12-08

 
2015年7月15日(日本時間)にマイクロソフト社が提供しているOS
Windows Server 2003 のサポートが終了します。
 
Windows Server 2008R2、Windows Server 2012R2へのサーバーリプレイスを行う際、
タスクスケジューラーの移行でお悩みの方は参考にして下さい。
(Windows 2008R2にも適用出来ます)
 
1.Windows Server 2003 にてタスクリストを作成
コマンドプロンプトから C:\WINDOWS\Tasks に格納されている .job のリストを作成
 
cd C:\WINDOWS\Tasks
 
dir /w > [出力先ファイル名]  ← ジョブファイル名のみの一覧が出力される
 
2.Windows Server 2012R2 からタスクのエキスポートを行う
Windows Server 2003ではXML形式でジョブのエキスポートが出来ない為、Windows Server 2012R2側でタスクのエキスポートを行う。
コマンドプロンプトより下記のコマンドを実行。
 
schtasks /query /s \[Windows Server 2003のIP Address] /tn "[タスク名]" /XML > [出力ファイル名].xml
 
※1.で出力したリストを正規表現等で上手に加工すれば.job数分のコマンドが楽に生成できます。
※複数タスクのエキスポートの際は .bat ファイルにして実行すると楽です。
 
3. [出力ファイル].xmlの中身を書き換える

Windows Server 2003のタスク設定に無い項目「構成」の設定方法
 
Task version="1.1" → Task version="1.x" に書き換える
 

※xは任意の数 例)"1.2" で 「Windows Server 2008R2」 となる
 
「構成」のプルダウンの内容が変わります。
 
Windows Server 2003のタスク設定に無い項目「最上位の特権で実行する」の設定方法
schtasks のオプション /RL でも設定出来るが /XML オプションとの併用が不可の為、xmlファイルに記述する。

<Principal>
<RunLevel>HighestAvailable</RunLevel>
</Principal>

 
これでチェックボックスにチェックが入る
 
UserIdをWindows Server 2012R2に合わせて書き換える
 
<UserId>[新サーバー名][実行ユーザー名]</UserId>
 
4.Windows Server 2012R2へタスクを作成
コマンドプロンプトより以下のコマンドで Windows Server 2012R2 にタスク作成を行う。
 
schtasks /create /tn "[タスク名]" /XML "[3.で加工したXMLファイル名]" /RU "[実行ユーザー名]" /RP [実行ユーザーパスワード]
 
※タスクを階層で作成したい場合は"[タスク名]"を"[ディレクトリ名]/[タスク名]"とする
※"[実行ユーザー名]"は"ServerName/UserName"の形で設定する
※2.で作成した .bat を正規表現等で上手に加工すればコマンドが楽に生成できます。
※複数タスク作成の際は .bat ファイルにして実行すると楽です。
 
以上の作業で Windows Server 2003 から Windows Server 2012R2 へタスクスケジューラーの移行が出来るはず!
 
無事に出来たかな??
 

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7