WinNTで他サーバーのファイルコピーがエラー終了する問題の解決策

このQ&Aのポイント
  • WindowsNTのDOSプロンプトでATコマンドを用いて他のサーバーにあるファイルをコピーするバッチをスケジューリングしているが、エラー終了する問題が発生。
  • 2021年6月のWindowsの脆弱性修正パッチを適用後、バッチが他サーバーへアクセスできないエラーを起こすようになった。
  • 手動でバッチファイルを実行すると正常に終了し、ファイルもコピーできる。自動起動のバッチファイルの条件や組み方について解決策を教えてほしい。
回答を見る
  • ベストアンサー

WinNTでスケジューリングしたbatで、他サーバーからのファイルのコピー処理がエラーになります。

WindowsNTのDOSプロンプトでATコマンドを用いて他のサーバーにあるファイルをコピーしてくるバッチをスケジューリングをしているのですが、そのバッチが“他サーバーへアクセスできない”ことでエラー終了してしまいます。 以前は問題なく終了していたのですが、今年6月頃のWindowsの脆弱性修正パッチをあててから上記の状態になりました。おそらく、パッチ後のデフォルト設定が原因かと思われるのですが、解決策が分かりません。 自動起動のバッチファイルで、他サーバーのファイルをコピーするための条件・バッチの組み方等、解決策を教えてください。お願いします。 ちなみに、該当バッチファイルを手で流すと、正常に終了しファイルもコピーできています。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

表示されるSYSTEMは、ローカルのマシンのシステムアカウントになります。ネットワーク接続を行うためには、 接続先に権限を追加する必要が出てくるのですが、システムアカウントはローカルマシンでしか 権限を設定できないみたいなので無理かと思われます。 回避方法としては、Scheduleサービスで起動するユーザを指定するのが一番手っ取り早いのではと思います。 また、IE4.0以降をインストールしているのであれば、Task Schedulerサービスがあるはずなので、ATコマンドで登録したタスクも一覧に表示され、そこで実行時のユーザを個別に指定することが可能です。

takato78
質問者

お礼

お礼が遅くなり申し訳ありません。 ローカルのシステムアカウント・Task Schedulerサービス等、勉強になりました。 ありがとうございました!

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

1.起動するユーザを意識する。 ATコマンドを実行しているのは、通常システムアカウントです。 2.ネットワークドライブ(共有フォルダ)は明示的に接続、切断を行う。 net useコマンドで、接続を行いましょう。 さらに、接続するユーザも指定すればなお確実です。

takato78
質問者

お礼

ありがとうございます。 確かに、システムアカウントなのでファイルにアクセスする権限がないのだと思うのですが、どうやったらシステムアカウントにアクセス権限が与えられるのでしょうか? 権限のグル-プに、“SYSTEM”とういのがあったのですが、これでOKなのでしょうか? ご回答いただいたのに、新たに質問してしまい申しわかりません。よかったらお答え願えますか?

関連するQ&A

  • netwareサーバーのファイルが削除できません

    どなたかご存知ですか? netwareサーバーに入っているファイルが削除できなくなりました。移動もコピーも開くことも出来ません。 DOSプロンプトから削除しようと思ったのですが、それもだめでした。 他に何か良い方法は無いでしょうか? よろしくお願いします。

  • ファイルコピーについて

    環境:Windows2000Sever SP4 あるデータファイルがあります。サイズは約1.9GBです。 このファイルをあるサーバーからあるサーバーへコピーを行いたい。 しかし、このファイルを夜間のバッチファイルでのコピーを行うと正常にコピーされません。(バッチファイルでは、他の数百のファイルもコピーしている)が、手動で上記一ファイルのコピーを行うと正常にコピーされます。 バッチファイルでコピーした場合も、エクスプローラで見ると見た目上はコピーできているようなのですが、実際ファイルの内容を見てみると壊れています。 バッチファイルでコピーした場合と、手で直接コピーした場合とで何か相違あるのでしょうか? また、なんとかバッチファイルでコピーを行いたいのですが、何かよい方法はありますでしょうか? たとえば、分割をしてコピーを行うとか・・・。その場合、バッチでどのように処理を行えばよいのでしょうか?

  • MS-DOSで空ファイルのコピー

    win98のDOSプロンプト使用時に疑問に思ったことです。 DOSコマンドの「copy」についてなのですが ファイル容量"0"の空ファイルは、コピーできないものなのでしょうか? DOSで空ファイルをコピーしようとした時、 「0個のファイルをコピーしました」の結果が返ってきます。 もちろんコピー先ファイルは存在しません。 同じくDOSの「move」コマンドでの空ファイルの移動は可能ですし、 UNIXでは空ファイルのコピーはできました。 また、winXPのコマンドプロンプトで行うと、空ファイルもコピーできました。 NT系のはMS-DOSではないので、動作が違ってもおかしくはないとは思いますが。 理由が単に、DOSが「空ファイルはコピーできない仕組み」を持っているのか、 はたまた他に原因があるのか。 ご教授いただきたく、よろしくお願いいたします。

  • バッチファイルでサーバーのファイルをクライアントへコピーしたい

    サーバーに保存されているファイルを、 クライアントのCドライブへコピーしたい。 各クライアントにバッチファイルを配布して、 それを実行するだけでコピーされるようにしたいのです。 初心者で申し訳ないのですが、何卒よろしくお願いします。 ------------------------ 下記の記述ですと、普通にサーバーのCドライブへファイルがコピーされます。 しかし、コピー先はバッチファイルを実行したクライアントのローカルディレクトリにしたいのです。 copy \\サーバー名\フォルダ名\ファイル名 C:\

  • 他サーバーにあるファイルコピーのバッチ作成について

    とあるサーバー間で最新のDBBackupファイルのみコピーをしたいと思っています。 (1)のサーバーにあるBackupファイル(3ファイル) 例) 1. xxxxx.20180501.backup 2. xxxxx.20180502.backup 3. xxxxx.20180503.backup ↓ (2)のサーバーに最新のファイル(3.のみ)コピーさせたいです。 (1)にあるファイルは毎日1回4時にBackupされ過去3日分保存されます。 (2)のコピー先ディレクトリは以下の通りです。 C:\DBBACKUP (2)最新のファイルのみ上書きでBackupしたいです 上記の内容のバッチ作成をしたいのですがご教授いただけますか。

  • LAN上のサーバから他のサーバのバッチを実行したい。

    同一LAN上にあるWindows Server 2003からWindowsNT4.0にあるバッチファイルを実行したいと思います。 実現可能でしょうか。 どのような方法がありますか。 あまり費用は掛けないで実現したいと思っています。 よろしくお願いいたします。

  • Q>Windowsでファイルをコピーする処理の作り方を教えて

    こんばんは。WindowsXPで動作するバッチについて教えてください。 コマンドプロンプトかPerl、ExcelVBA、あるいは他の方法で以下の処理をするバッチを作りたいと思っています。 //------------------------------------- (1)WindowsXPのPC(PC1)で一定時間間隔(1時間おきくらい)に起動する。 (2)別のPC(PC2)にネットワーク接続する。 (3)PC2の特定のフォルダに特定のファイルがあったらPC1にコピーする。 ただしそのファイルがすでにPC1にあったら上書きしない。 //------------------------------------- (1)はWindowsのタスクスケジューラでできると思っていたのですが、 タスクの起動間隔は最低1日だったのでダメでした。 (2)はコマンドプロンプトなら NET USE コマンドでできるはず。 ですがPerlだとやり方がわかりません。 (3)は上書きしない方法がわかりません。コマンドプロンプトでCOPYするとY/Nを訊かれるし、 copy/yだと上書きされてしまいます。 他のフォルダに退避する、とか無理やりならできなくもないですが。 私はコマンドプロンプト、Perl、VBA 以外のスクリプトには慣れていないので できればこのうちのどれかでやりたいと思っています。 うまい方法はないでしょうか? 知恵をお貸しください。m(_ _)m

  • windowsで自動処理したい。ファイルのコピー

    お願いします。 やりたいことは ○フォルダの中をLAN内の他のPCのフォルダの中にコピーしたい のですが、macのアップルスクリプトのように簡単にプログラミングできないものでしょうか? 具体的にはサーバーとクライアントのようなものなのですが、サーバーで設定したファイルをフォルダにいれておいて、バッチをあてると設定してあるクライアントの指定フォルダに同じファイルがコピーされるというものをつくりたいです。 どのようなソフトがあれば作れるのか?わざわざ自分でつくらなくてもすでにフリーソフトなどに同じ機能をもっているソフトがある、などなど、情報お待ちしております。

  • サーバからNASにファイルコピーするバッチファイル

    サーバからNASにファイルをコピーするバッチファイルを作成しました。 NASの共有フォルダにアクセス制限を設定し、バッチファイルを実行すると、 「アクセスが拒否されました」のメッセージが出てコピーできません。 バッチファイルの実行アカウントを「system」にしています。 どこが間違っているのでしょうか。 よろしくお願いします。 NAS:バッファローTeraStation :ホスト名→NAS :共有フォルダ名→test ユーザ→test パスワード→password サーバ:Windows2003serverSE ***バッチファイル*** net use S: \\NAS\test "password" /user:test xcopy "C:\test00" "\\NAS\test" net use S: /delete

  • 1つ下のファイルをコピーするバッチファイル

    コマンドプロンプトで実行するバッチファイル(x.bat)で C:\Aというフォルダのさらに1つ下のフォルダ (このフォルダは1つのみで名前は毎回変化します) の中にあるc.mpgというファイルを D:\Bフォルダにコピーするバッチファイルを 作りたいのですがどのように記述すればよいのでしょうか。 例えば、C:\A\data_20120922195626というフォルダ (data_20120922195626というフォルダ名は任意の名前ですが C:\Aフォルダの中にはこのフォルダ1つしかありません) の中に\c.mpgというファイルがあるとします。 バッチファイル x.bat を実行すると D:\Bフォルダにc.mpgをコピーしたいのです。 なお、data_20120922195626というフォルダの名前は バッチファイルを実行する時には毎回異っていますが バッチファイル実行中は変化しません。 VBscriptやwshなどは使わずWindosXPの標準DOS機能のみで お願いします。(WindosXP SP3)