web-dev-qa-db-ja.com

Windows 2003(.job)からWindows 2008(.xml)にスケジュールされたタスクをインポートする方法はありますか?

古い実動サーバー(Windows 2003サーバー標準)から新しいマシン(Windows 2008サーバー標準)に移動するジョブがいくつかありましたが、新しいサーバーは古い.job形式を読み取ることができません。また、インポートウィザードは.xmlジョブファイル(同じバージョン)。明らかに、すべてのジョブを手作業で再構築する必要はありませんが、プロセスを非常に簡単にするツールを見つけることができません。私はこの種のツールについてマイクロソフトを信頼していません。以前の経験はひどいものでした(DTS-> SSIS)。何か案は?

前もって感謝します。

6
Rodrigo

彼らがここで問題を議論していたようです: http://social.technet.Microsoft.com/Forums/en-US/itprovistamigration/thread/76b6276b-49f2-41e2-b4ea- f537e0eb88a8

これを行うための現在承認された方法はないようです。

ただし、そのフォーラムの1人のユーザーがこれを投稿しました。

Vista/2008サーバーマシンからschtasksを実行する場合、xp/2003 schtasksをxmlにエクスポートできます。 schtasks/query/s xpmachine/tn taskname/XML> taskname.xmlその後、インポートできます。完璧ではありませんが、時間を節約できます。/foテーブルを使用してタスクをエクスポートし、Excelに不要な列を削除して、xmlをダンプするバッチファイルを作成し、/ create/xml xmlfile.xmlを使用して新しいサーバーにxmlをインポートしました。お役に立てれば。

だからそれは可能に思えるが、それはいくつかのちょっとしたポケリーが必要です。

私はそれを自分で試しましたが、Win2008からアクセス拒否エラーを取得し続けました。私はすべての特権を持つネットワーク管理者でしたが。たぶん他の誰かが試みをする可能性がありますか?

EDIT-Solution:

ジョブファイルを取得した場所はおそらくc:\ windows\tasksでしたが、Vistaの下ではxmlファイルが存在する新しい場所があります。 (c:\ windows\system32\tasksの下)可能であれば、古いマシンを探してみてください。

ただし、元のマシンに簡単にアクセスできない場合があります。

  • XPマシン(Schtasks.exeとSchedsvc.dll)の2つのファイルが必要です。これらは両方ともWindows\System32フォルダーにあり、USBにコピーして、XPから必要なものすべてです。
  • 今あなたのVistaマシンで。それらをVistaマシンの独自のディレクトリに配置します(c:\ schというディレクトリを作成してそこに2つのファイルを配置するとします)。c:\ windows\system32にあるVistaのファイルは上書きしないでください。
  • ジョブファイルの名前をTest1.job、Test2.job、Test3.job、Test4.jobに変更し、c:\ windows\tasksにコピーします
  • コマンドプロンプトを開きます([プログラム]、[アクセサリ]、[コマンドプロンプト]を右クリックし、[管理者として実行]を選択します)。
  • 次に、新しい.jobファイルに触れて、vistasスケジューラーがパラメーターを取得するようにします。
  • コマンドプロンプトで
    cdで入力c:\ sch次に、(この例では)入力します
  • schtasks/change/TN "Test1"/RU Terry/RP Terryの各ジョブタイプについて(Test1をTest2、Test3、Test4に変更して例)/ RPおよび/ RUの値は、ユーザー名とパスワードを変更する必要があります(RPはパスワード、RUはユーザー)
  • メッセージSUCCESS:スケジュールされたタスク "Test1"のパラメーターが変更されました。各仕事のため。

完了したら、コマンドプロンプトを閉じます。そこからWindowsスケジューラはこれらを認識し、Windows Guiを使用して、それらの名前と実行者を更新できます。

私はこれを個人的に試しましたが、はい、それはうまくいきます。スクリプトを作成するのに少しだけ労力が必要です。 VistaマシンにXPファイルを残すだけです。その後、スクリプトを使用してXMLとしてエクスポートすることもできます。

リンク: エキスパート交換から

12
Qwerty

私にとっては、もっと簡単な別の方法を見つけました。より多くのクリックが必要ですが、実際の考え方は少なくなります。 Windows Server 2008マシンから古いWindows Server 2003マシンに「接続」できる必要があります。

Win2k8ボックスで、(「管理ツール」メニューから、サーバーマネージャではなく)タスクスケジューラを開きます。 [タスクスケジューラ(ローカル)]ノードをクリックし、[アクション]で[別のコンピュータに接続]を選択できます。 Win2k3マシンに接続します。

ここで、「タスクスケジューラライブラリ」をクリックすると、Win2k3タスクがすべて表示されます。この時点で、目的のタスクを右クリックして[エクスポート...]を選択できます。これで、Win2k8タスクスケジューラに直接インポートできる.xmlファイルが作成されました。

10
Granger

手動プロセスを説明する上記の回答も私にとってはうまくいきましたが、私はそれを行う簡単な方法を望んでおり、これを思いつきました: http://briandunnington.github.io/migrate-scheduled-jobs.html

基本的に、.jobファイルをc:\ windows\tasksにコピーしてからスクリプトを実行し(ユーザー名/パスワードを指定)、ジョブは自動的に変換されます。古いdllのコピーや名前の変更などをいじる必要はありません。

1
briandunnington