• ベストアンサー

ATコマンドについて教えてください。

はじめまして。今回はじめてWinNTで、ATコマンドを使ってスケジュールを 組もうと思っています。ATコマンドにバッチプログラムをわりあてて、やろうかと思っています。 例:at 09:00 ”c:¥aa.bat” aa.batの中身 copy ¥¥サーバー1¥*.* ¥¥サーバー2 と、バッチファイル内でコピーコマンドを動かそうかと思っています。 ところが、ローカルサーバー側(サーバー1側)は認識できるのですが、 リモートサーバー側(サーバー2側)は、ATコマンドで実行すると 「アクセスが拒否されました」とメッセージを出力します。しかし、 コマンドラインでは実行できます。 ATコマンドでネットワーク間のファイルコピーを可能にするにはどうすれば よいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • x-game
  • ベストアンサー率42% (80/189)
回答No.5

こんにちは. では, net use x: \\Server\Dir <password> /user:administrator net use > c:\test.txt net use x: /delete  ※<password>はadministratorのパスワードです としてデバッグしてみるのはどうでしょうか? c:\test.txtファイルの内容を見てローカル名に正常にxドライブが接続されているのかの確認ができると思います.接続ができていないからエラーなのか,接続は可能でcopyがうまくいっていないかの切り分けになります. 今回追加した点としては,administratorで接続する点です.

tokyos
質問者

お礼

お忙しい中、色々と、ありがとうございます。 パスワードとユーザー名を追加して、早速ためしてみました。 コマンドプロンプト:問題なく作動し、接続もできていました。 ATコマンドによるMSTASK上        :システム エラー 1312 が発生しました。         指定されたログオン セッションは存在しません。         そのセッションは既に終了している可能性があります。 というような状態です。 net use x: \\Server\Dir のままパスワードを指定せずに実行すると、 接続はできますが、dirコマンドを発行しただけでも、アクセス拒否されます。 ATコマンドでMSTASK上で作動する時に何かの指定が必要なのでしょうか? 難しいところです。

その他の回答 (5)

  • x-game
  • ベストアンサー率42% (80/189)
回答No.6

こんにちは. 先ほど書いたことをMicrosoftのページで探してみましたが,Microsoftのページでも全く同じ事が書いてあるだけですね. お手上げ状態ですね. 例えば,リモートサーバーにAdministrator権限を持ったtestユーザーを作成(ローカルサーバにはこのユーザーを作成しない)し,そのユーザーとパスワードを入れるなどで実験するしかないようですね.ドメインに参加している場合は/user:domain\testと記述するようですが関係ないかもしれません.ATコマンドに関してはまとまったページも本も無いので大変ですよね.

参考URL:
http://www.microsoft.com/mscorp/worldwide/japan/support/kb/articles/j013/4/13.htm
tokyos
質問者

お礼

いろいろとありがとうございました。実は解決できたのです。 と、いいますのは、前回教えていただいた、パスワードとユーザー名を 指定して、net useコマンドを発行する時に省略可能なはずのドメイン名 を指定してあげたところ、接続して、アクセス可能な状態になりました。 いままで、いろいろと力になっていただき、本当に感謝しています。 多分、私一人では解決できなかったでしょうから・・・。 x-gameさん、お忙しい中、いままで、調査していただきありがとうございました。 また、なにかありましたら、次の機会もよろしくお願いします。

  • x-game
  • ベストアンサー率42% (80/189)
回答No.4

こんにちは. ちょっと状況の確認ですが,共有ドライブということで実行しているのですか?それとも共有フォルダとして実行しているのですか?共有ドライブとなっている場合はドライブにファイル等を作成することができないので失敗しているのでハイでしょうか? 共有フォルダ(Dirとする)をServer2に作成して,それをEverone フルコントロールで共有するのはどうでしょうか.そうすると,  net use x: \\Server2\Dir となりますよね.Dirディレクトリを共有するとアクセス拒否はされないと思いますが・・・. ドライブ共有の場合はやったことはないのですが\\Server\ドライブ名$とするとうまくいくかもしれませんが,共有フォルダを作成した方が簡単だと思います.

tokyos
質問者

お礼

いろいろとお手数をおかけします。 状況としては、サーバー側の共有フォルダを ネットワークドライブとして実行しています。 コマンド的には、お書きのとおり net use x: \\server2\dir と同じ描き方で実行し、 接続後、dir x:*.* コマンドを発行するとアクセスが拒否されました。 と言う形になります。 dos窓ではOKなのですが、MSTASK上だと拒否されます・・・。

noname#41381
noname#41381
回答No.3

あまり自信はないのですが... Schedule(もしくはTask Scheduler)のログオンアカウントを Administrator権限のユーザに設定してみてはどうでしょうか?  コンパネ→サービス→「Schedule」を選択し[スタートアップ]→ログオンのアカウントをAdministratorに設定 ちなみに、ログオンアカウントの設定はScheduleを停止した状態で設定しないと うまくいかない場合がありますのでご注意を。

tokyos
質問者

お礼

お忙しい中、回答いただき、ありがとうございます。 使用中のマシンのサービスを停止し、ログオンアカウントを変更しようと しましたが、グレー表示で変更不可の状態でした。現在システムアカウント の状態で、Administrator権限でログオンしています。 アドバイスありがとうございます。

  • x-game
  • ベストアンサー率42% (80/189)
回答No.2

こんにちは. > ネットワーク接続ではなく、リモートドライブとして認識されたのですが、 > アクセス拒否をされてしまいました。 アクセスが拒否されるということは,リモートサーバーにログインユーザーが登録されていないのではないでしょうか?また,共有フォルダ以外をネットワークドライブに割り当てることはできませんから,共有フォルダなのかを確かめてはどうでしょうか. 先ほど記述した内容がちょっと異なっていました.x:\\のx:と\\の間はスペースキーは要らないようです.  net use x:\\Server2       ↑スペースは要らない  copy *.* x:  net use x:\\Server2 /delete       ↑スペースは要らない これでもだめでしょうか? どうしてもうまくいかない場合はIISをインストールし,FTPサーバーを立てる方法もあると思います.

tokyos
質問者

お礼

本当にありがとうございます。序々に、解決に向かっています。 繋ぎに行こうとしているサーバーのドライブは共有化されており、フルアクセス 可能な状態にあります。もちろん、DOS窓では接続できるのですが、ATコマ ンドで動作するMSTASK上では相変わらずアクセス拒否されています。 net use コマンドで接続はされているのですが・・・。 教えていただいたコマンドを色々操作した結果以下の方法でできました。 net use x: \\サーバー名      ↑スペース有り net use x: /delete      ↑スペース有り いろいろありがとうございます。本当に助かっています。 まだ、時間があるので色々試して見ます。もし、お時間 が許すようでしたら、アドバイスをお願いします。

  • x-game
  • ベストアンサー率42% (80/189)
回答No.1

こんにちは. バッチファイルを手動でキックさせるとネットワークドライブを割り当てた場合うまくいきますが,ATコマンドを使うとネットワークドライブを割り当てていてもうまくいきません.その場合Net Useコマンドを加える必要があると思います. バッチファイルの中身  net use x: \\Server2  copy *.* x:  net use x: \\Server2 /delete とやると上手くできませんか? net useコマンドでxドライブにServer2を割り当てます.ローカルドライブからxドライブにコピーします.その後,ネットワークドライブを切断すると言った感じです.

tokyos
質問者

お礼

おいそがしいなか、回答ありがとうごさいます。早速試してみましたが・・・。  net use x: \\Server2  copy *.* x:  net use x: \\Server2 /delete で、ネットワーク接続ではなく、リモートドライブとして認識されたのですが、 アクセス拒否をされてしまいました。また、リモートドライブの切断も出来なく なってしまいました。切断方法を教えてください。上記コマンドでは切断できま せんでした。

関連するQ&A

  • バッチファイルをatコマンドでうまく実行できない

    初心者で申し訳ありませんが教えてください。 特定の時間になると、○○サーバにあるデータをLocalの○○フォルダへコピーするバッチファイルを作成したいと考えています。 コピーだけのバッチファイルは作成できました。 特定の時間になると、このバッチファイルを起動させるバッチファイルを作成したかったので、色々調べていてatコマンドを利用する方法と、 システムツールのタスクを利用する方法を見つけました。 タスクの方だと上手く実行できるのですが、atコマンドのほうが上手くいきません。 記述したコードは以下になります。 at 15:30 C:\Copy.bat タスクには追加されるのですが、実行時間になり、実行中となっても完了しません。 ○○サーバがアクセス権が必要なサーバです。 やはりアクセス権の関係で失敗してるのでしょうか? (でもそれなら、コピーだけのバッチファイルも実行できない気がしますが・・・) タスク処理で設定した方は、設定項目にユーザIDとパスワードを 入力する項目があったので設定してました。 at関数の方も実行するユーザーIDとパスワードを設定すればいいのでしょうか?その場合やり方も教えてください。 よろしくお願いします。

  • ATコマンドでネットワークドライブにファイルをコピーしたいのですが・・・

    お世話になります。 コマンドプロンプトを使用し、ファイルを別のコンピュータにコピーしたいと考えております。 環境: Test1サーバ・・・コピー元:Windows NT4.0 Test2サーバ・・・コピー先:Windows 2000 Server それぞれ別ドメインに属しています。 以下のようなbatファイルを作成しました。 net use X: \\Test2\copyfolder userpassword /user:administrator COPY sourcefile.doc X: net use X: /delete バッチファイルをTest1サーバで実行したところ正常にネットワークドライブ割り当て、ファイルのコピー、ネットワークドライブの切断ができました。 これをatコマンドで以下のようにスケジュール設定したところ、失敗しました。 at 10:00 "c:\temp\netcopy.bat" この問題の回避策を教えてください。 よろしくお願いします。

  • DOS、ATコマンドでの不具合

    atコマンドを使用し、ネットワーク上にあるIISのログを自分のパソコンへ取りこむbatファイルを作成しました。net useでデバイスを指定し、IISサーバーの入っているホストへアタッチし、copyコマンドでログを取りこんでいます。atコマンドを一分後などに設定し、実行すると成功するのですが、翌日にスケジュールしたりすると、実行されていません。どなたかDOSコマンドに詳しい方、思い当たるふしがあればぜひ教えて下さい。また、他にもっと確実な方法等ありましたら、どうぞ知恵をお貸し下さい。よろしくお願いします。

  • ATコマンドでバッチを実行するとエラーになります。

    よろしくお願いします。 WindowsXP(SP1)、Windows2000(SP4)、Windows2003 ServerからLinuxサーバの共有領域に 接続する為にバッチファイル(AAA.bat)を作成しました。 AAA.batを実行したところ、Linuxサーバに接続する事が確認出来たので、 次にATコマンドでAAA.batを実行したところ下記のメッセージが 表示されました。 「システム エラー 1312が発生しました。  指定されたログオン セッションは存在しません。そのセッションは既に終了している可  能性があります。」 ATコマンドからAAA.bat(共有領域の接続)を実行する場合に、何か注意点がありましたら御教授お願いします。 また、ATコマンドで他のBATファイルを実行したところ正常に動作したので、スケジュールのサービス等には問題なさ そうです。 AAA.bat net use * \\***.***.***.***\coo\log syspass /user:system ※「***.***.***.***」の部分はIPアドレスです。 ATコマンド at 20:12 /interactive c:\test\AAA.bat

  • リモートでバッチを実行(Windows)

    お世話になります。 クライアントサーバ(Windows2003Server)からリモートサーバ(Windows2003Server)に 存在するバッチファイル(Remote.bat)をリモートで実行する方法(コマンド)をご教授ください。 方法としては、Client.bat(クライアントサーバに存在)というバッチファイルから、 Remote.batを実行したいです。 Unixのrshコマンドみたいなイメージです。 宜しくお願いします。

  • net use コマンドでのサーバ接続について

    初めまして。 現在、WINDOWS2003サーバ(Aサーバ)を使用して、サーバ内でBATファイルを実行しています。 BATファイルの実行方法は、別のWINDOWS2003(Bサーバ)のバッチファイルから Aサーバにnet useコマンドで接続し、AサーバのBATファイルを実行するというものです。 Aサーバには複数のバッチが存在し、同時にBサーバ、CサーバからAサーバの各BATファイル を実行しています。 そこで問題が発生しているのですが、BサーバからバッチファイルでAサーバのバッチファイルを実行している間に、同時にCサーバのバッチファイルからAサーバのバッチファイルを実行しようとしたところ、先に実行されていたBサーバのバッチの処理が突然終わってしまい(Aサーバへの接続が切れた?)、Cサーバのバッチだけが実行される状態になってしまいます。 BサーバのバッチとCサーバのバッチを同時に実行することはできないのでしょうか? そもそもAサーバにnet useコマンドで複数のサーバから接続できないということでしょうか? ちなみにサーバは複数ありB,Cサーバ以外にも5つほどのサーバで同時にAサーバに接続を行いたいと思っています。 かなりはまって困っています。 わかる方ご教授いただけますでしょうか。よろしくお願いします

  • Vistaで、atコマンドが使えません。

    こんにちは。 Vistaで、atコマンドを使った、タスクスケジューリングができずに困っています。 例えば、管理者としてコマンドプロンプトを立ち上げ、 at 17:00 1.bat というコマンドを実行すると、 「新しいジョブをジョブ ID = 1 で追加しました。」 と表示されます。 その後、タスクスケジューラの「タスクスケジューラ ライブラリ」を見ると、 先程のジョブが、AT1という名前で、きちんと設定されています。 にもかかわらず、していした17:00になっても、1.batは実行されません。 1.batを、dirのような組み込みコマンドに変えても、実行されませんでした。 タスクスケジューリングに必要なサービスは全て起動しています。 具体的には、 DCOM Server Process Launcher Remote Procedure Call (RPC) Remote Procedure Call (RPC) Locator COM+ Event System System Service Notification Service COM+ System Application を、全て起動しています。 また、タスクスケジューラでのスケジューリングは、上手くいっています。 どうすれば、atコマンドを使う事ができるのでしょうか? 何か御存じの方がいらっしゃれば、是非、情報を提供して頂きたく思います。 では、よろしくお願い致します。

  • rshコマンドについて

    rshコマンドを利用してローカルマシンからリモートマシンにあるバッチファイルを実行しようと思います。 以下のようにコマンドを入力して実行したところ、以下のようにエラーが出ました。何か別途定義しておく必要はあるのでしょうか。 rsh リモートホスト名 -l リモートのユーザ名 -n バッチファイル名 ホスト名:接続が拒否されました rsh:can't establish connection

  • atコマンドについてしってるかた。。。

    win2000、ATコマンドを使用して、ローカルにあるファイルを毎日定時にネットワーク経由でコピーをしようと思っているのですが、ローカルではうまくいくのですが、ネットワーク経由にすると、どうもうまくいきません。 自分なりに調べてATはシステムアカウントを使用し、作業をするようなのですが。。。 ご存知な方がいらっしゃいましたらお教えください。 出来れば作業手順も教えて頂けると幸いです。

  • ATコマンドからエグゼファイルが実行できない

    こんにちは。 ATコマンドで毎日10:00時に一回、あるバッチファイルを起動させる登録を行なっています。 しかしバッチファイルからVBで作成したエグゼファイルが実行されていないようです。 エグゼファイル(Project1.exe)は今はテスト用で実行させますとWindowが表示されるだけです。DOSプロンプトから実行させるとWindowはちゃんと表示します。 ログファイルを意図的にはかせてますが、終わりのログがはかれているのでバッチファイル自体は実行されているようなのですが。 どういった原因なのかこころあたりある方よろしくお願いします。 起動するバッチファイル(testbat.bat)の内容 C: echo "start" >C:\test.log Project1.exe echo "end" >C:\test.log