猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

Windows

タスクスケジュールではネットワークドライブの割り当てを使ってはいけない

投稿日:

タスクスケジュールに別サーバーへログファイルを移動するバッチを登録する、などよくある話です。

例えば、Aサーバーにはログがたまっていて、Aサーバー上では毎朝3時にBサーバーのバックアップフォルダにログを移動するとします。

ネットワークドライブの割り当てたドライブ情報はユーザー単位でその情報を保存しているということの理解が重要です。
つまりAサーバー上で下記のようなコマンドで事前にBサーバーのフォルダをネットワークドライブ(Q:)に割り当てていても、
それはそのバッチを実行したユーザーからしかみえないのです。

net use q: \\192.168.10.1\shared password /user:username

つまり事前に割り当てをしていても、タスクを実行しているのは別ユーザーになります。
そのタスクの実行ユーザーではその割り当てたドライブがみえないのです。

解決策として、バッチ処理自身にネットワーク割り当てのコマンドを記載すればいいとありました。
確かにそれでうまくいきそうです。が何故かうまくいきませんでした。。。

結局私は、

①事前にAサーバーとBサーバーに同じ名前とパスワードのタスク専用ユーザーを作成し、
②Bサーバーにはそのタスク専用ユーザーにアクセス権限を与え、
③Aサーバー上で実行するタスクの実行ユーザーもタスク専用ユーザーにし、
④バッチ処理上ではネットワークドライブの指定を \\192.168.10.1\shared\backaup.txt

と指定することで解決しました。

ネットワークドライブの割り当ては、タスクの実行ユーザーからは見えないのです。
ipアドレス、もしくはホスト名を使用してパスを使用することが肝心です。
なおこのようなフルパスの表記はUNC(Universal Naming Convention)と呼ばれています。

Gooleアドセンス用336

Gooleアドセンス用336

-Windows

執筆者:

関連記事

windows

コマンドプロンプトからexeを起動したときの戻り値(終了コード)を取得する

コマンドを実行したときの結果は echo %ERRORLEVEL% で確認することができます。 しかし自分で作成したexeの終了コードを取得するには start /wait で実行しましょう。 sta …

windows

Wget for Windows(Windows版のwget)

linuxを使用する人の多くはwgetを利用したことがあるでしょう。 get、postが驚く程簡単に利用できます。 そしてコマンドなのでグラフィカルな点は劣りますが、 簡単にコピーや編集をしてバッチが …

apple

iPhoneにはハードウエアの安全な取り外しが表示されない!?

Windows8にしたところ、 iPhoneをUSBで接続しても、ハードウエアの安全な取り外しが表示されませんでした。 どうやらiPhoneはメディアとしては扱われず、「ハードウェアを安全に取り外して …

windows

Window8.1の外付けハードディスクの外し方

私はいつも外付けハードディスクやUSBメモリの取り外しには、 画面右下にあるUSBアイコンより「○○○の取り外し」 を選択してからとりはずしていました。 しかし、気づけば何故か外付けハードディスクの文 …

windows

WSL Windows Subsystem for Linux

Windows Subsystem for Linux 私はvmware playerでCentOSを起動してつかっていました。何が違うのか、興味本位でWindows Subsystem for Li …