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

執筆者:

関連記事

「Docker for Windows」が起動しない

INDEX1 「「Hardware assisted virtualization and data execution protection must be enabled in the BIOS. …

windows

コマンドプロンプト(バッチ)で日時を使用する

ログやファイル名にやっぱり付けたいのが日時です。 INDEX1 文字列の抜き出し2 文字列の置き換え3 日時を取得するバッチ 文字列の抜き出し c:\>echo %date% %time% 20 …

windows

Wget for Windows(Windows版のwget)

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

windows

Outlook ExpressからOutlookへ移行する

今回紹介するのは、OutlookExpressから同じ端末に入れたOutlookへの移行方法です。 OutlookExpressのデータをエクスポートして、別端末のOutlookにインポートするのは面 …

windows

WindowsをNTPサーバーにする

Windowsも簡単にNTPサーバーにすることができます。 レジストリの設定もしくは確認が必要です。 INDEX1 ①レジストリ2 ②レジストリ3 ③サービスの再起動4 WindowsのNTPサーバー …