web-dev-qa-db-ja.com

スケジュールされたRobocopyタスクが0x10エラーで失敗する

LAN上の2つの専用サーバー間でファイル同期をスケジュールしようとしています。リモートマシンはWindows Server 2003を実行しており、ローカルマシンはWindows Server 2008を実行しています。

リモートフォルダーをJ:ネットワークドライブとしてマウントして、権限の問題を克服しました。コマンドを手動で実行すると、すべてが期待どおりに機能し、フォルダーの内容がミラーリングされます。

robocopy J:\\ C:\\Files /MIR > c:\\robocopy.log

しかし、それをスケジュールされたタスクに入れるとすぐに、戻りコード0x10(16)で失敗します。これは 重大なエラー です。そのため、ネットワークアクセス許可エラーを想定し、2つのローカルフォルダー間のアクションをスケジュールしました。同じエラーが発生し、robocopy.log出力ファイルは作成されません。管理者としてアクションを実行しています。

スケジュールされたタスクが失敗するのはなぜですか?


参照用のschtasks /query /v /fo LIST /s localhostからの出力:

HostName:                             localhost
TaskName:                             \Sync Task
Next Run Time:                        11/7/2010 3:00:00 AM
Status:                               Ready
Logon Mode:                           Interactive/Background
Last Run Time:                        11/6/2010 2:49:21 PM
Last Result:                          16
Author:                               Host\Administrator
Task To Run:                          robocopy.exe "C:\\LocalFolder" "C:\\Destination" /MIR /LOG > c:\\robocopy.log
Start In:                             N/A
Comment:                              N/A
Scheduled Task State:                 Enabled
Idle Time:                            Disabled
Power Management:                     Stop On Battery Mode
Run As User:                          Host\Administrator
Delete Task If Not Rescheduled:       Enabled
Stop Task If Runs X Hours and X Mins: Disabled
Schedule:                             Scheduling data is not available in this format.
Schedule Type:                        Daily 
Start Time:                           3:00:00 AM
Start Date:                           8/6/2010
End Date:                             N/A
Days:                                 Every 1 day(s)
Months:                               N/A
Repeat: Every:                        Disabled
Repeat: Until: Time:                  Disabled
Repeat: Until: Duration:              Disabled
Repeat: Stop If Still Running:        Disabled
4
Petrus Theron

Robocopyコマンドを呼び出す前に次のアクションを追加することで解決しました。

Net Use j: \\RemoteHost\Files RemotePassword /user:RemoteUser
0
Petrus Theron

マップされたドライブ文字を使用する代わりに、共有のUNCパス(\\ servername\sharename\folder)を使用します。マップされたドライブは必ずしもスケジュールされたタスクが実行されるセッションではなく、セッションに関連付けられているので、これは物事を簡素化します。

次に、スケジュールされたタスクに関連付けられているユーザーがその共有にアクセスできることを確認します。

これで問題が解決するはずです。

6
Chris_K

私は最近この問題に遭遇し、「最高の特権で実行」というラベルの付いたスケジュールされたタスクにチェックを入れることで解決しました。

0
Dax Ahweng