毎日決まった時間に実行するプログラムを作成しました。最初に組み立てたとき、マップされたネットワーク ドライブに到達するのに問題がありました。解決策は、マップされたドライブ文字の代わりに UNC パスを使用することでした。これは、本番環境のタスク マネージャーで 1 か月以上問題なく実行されていましたが、今週、ドライブが利用できないというエラーが発生し始めました。
コマンドラインからスクリプトを実行すると正常に実行されますが、タスク スケジューラから手動で実行するとドライブが表示されません。
関連すると思われる、または他の投稿で取り上げられたタスク設定は次のとおりです。
- ユーザー: フルアクセス権を持つ管理者ユーザーとして実行
- 「ユーザーがログインしているかどうかにかかわらず実行する」: チェックあり
- 「パスワードを保存しない...」: 未チェック
- 「最高の権限で実行する」:チェックあり
- "構成": "Windows Vista または Windows Server 2008"
同じ結果で実行される最も最小限のテスト プログラムを作成しました。コマンド ラインからは正常に実行され、タスク マネージャーから実行するとドライブが表示されません。
require 'pp'
# I removed our IP address, but it was there in my tests
path = '\\\\NNN.NNN.NNN.NNN\\external data\\download'
File.open'test_out.txt', 'a' do |file|
file.puts '---running test at: ' + Time.now.to_s
file.puts '---dir listing of current (local) dir:'
file.puts Dir.entries('.')
file.puts '---dir listing of a network dir:'
file.puts Dir.entries(path)
end
関連する可能性のある変更について IT 部門に問い合わせましたが、何も得られませんでした。
どんな助けでもいただければ幸いです