rlc999
1
私が直面している問題について言及しているスレッドを見つけることができませんでした。最近、TS119からTS262にアップグレードしました。すべて順調ですが、Windowsのスケジューラーで使用していたVisual Basicスクリプトが動作しなくなりました。このスクリプトは比較的単純で、NASからWindows PC(Win 10)のUSBドライブへ、またはその逆にファイルをコピーするものです。NASをPCにドライブとしてマッピングしていますが、TS119の時にスケジューラーで実行する際はスクリプト内で「\\server\…」という参照を使うことを学びました。TS119ではこれで問題なく動作していました。しかし、TS262ではうまくいきません。IPアドレス(\\192.168.1.nnn)やサーバー名(\\NAS87695B)で参照するなどいろいろ試しましたが、どちらもうまくいきませんでした。スクリプト内でドライブをマッピングし、NAS用に設定した認証情報を割り当てることも試しましたが、やはりダメでした。
他に試せることがあれば、ぜひご教示いただきたいです。
私の場合は何も変わっていません(TS-419p+ と TVS-h1288X の比較)、少なくとも Windows のバッチコマンドラインの使用では、同じ UNC パスで参照されています。
あなたのスクリプトを投稿してもらえますか?
NA9D
3
スクリプトを実行する代わりに、Qsyncのようなものを使ってみたことはありますか?
出力をログファイルにキャプチャして、正確なエラーメッセージを確認できるはずです。ホスト名や共有名の構文変更、またはユーザー認証情報の問題である可能性が高いです。また、各行を対話的に実行して出力を確認し、問題の特定に役立てることもできます。
rlc999
5
スクリプトはかなり長いです。ただし、vbsで書かれています。スケジューラーで実行したときに失敗するvbs文は「If not(fs.FolderExists(InShare)) then」です。変数InShareには渡した値が入ります。今回の場合は「\\192.168.12.150\Documents\rick\」のようなものになります。繰り返しますが、オンラインユーザーとして実行すると正常に動作しますが、スケジューラー経由で実行すると失敗します。
rlc999
6
いいえ。Qsyncの経験はありませんが、調べて試してみるつもりです。これはオフラインで実行できて、QNAPがその認証情報を受け入れるものなのでしょうか?
rlc999
7
どうすればよいかわかりません。ログファイルはどこで有効にすればよいでしょうか?QNAPで設定するのか、それともWindowsスケジューラで設定するのか?繰り返しになりますが、このスクリプトはオンラインユーザーとして実行すれば正常に動作します。ですので、インタラクティブな実行がどのように関係するのか分かりません。Windowsスケジューラによって実行されたときに、QNAPがアクセスを拒否します。
NA9D
8
QsyncはPC上でバックグラウンドで動作し、どちら側のファイル変更もほぼ瞬時に同期します。完全に透過的に動作します。
共有フォルダへのアクセス権を持つユーザーの認証はどのように行っていますか?
rlc999
10
私が使用しているVBSスクリプトは、新しいQNAPで問題が発生していますが、多くのことを自動化してくれて、私が求めている機能も備えています。それはさておき、あなたのQsync(Qsync)に関する提案は興味深く、関連性がありそうです。ぜひ試してみて、自分のLAN環境で使えるかどうか確認してみます。ありがとうございます。
NA9D
11
あなたのスクリプトがファイルの同期以外に何をするのか教えてください。Qsynchにすべてのファイル同期を任せることもできます。そして、ファイル名や日付などを変更したい場合は、PC上であなたのスクリプトを使って行います。その場合、スクリプトはNASには接続しません。そして、PC上で行った変更がNASに再度同期されます。
rlc999
12
ご質問の内容を正確に理解できていないかもしれません。NAS上に、アクセスを許可したい各PCのユーザーアカウントと一致するユーザー認証情報を追加しました。繰り返しになりますが、vbsスクリプトはオンラインユーザーとして実行した場合は正常に動作します。その場合、NASがPCのユーザー認証情報を認識し、アクセスを許可していることがわかります。ユーザーの認証を別途行うことはありません。NASにユーザーとして追加していないPCでスクリプトを実行すると、vbsスクリプトは「共有が見つかりません」というエラーを出します。これが、Scheduler経由でスクリプトを実行した際に発生しているエラーです。Schedulerはオンラインユーザーとは異なる形式でユーザーアカウントを扱い、オフラインスクリプト実行時に使用するユーザーアカウントの設定オプションもいくつか提供しています。Schedulerの様々な設定オプションを試しましたし、Schedulerが使用するユーザー認証情報と一致するようにNASに追加認証情報も登録しました。例えば、Schedulerはユーザーを「PC名\\ユーザー名」として扱うと考えており、これはPCの起動時に使われるアカウントユーザー名とは異なります。そこで、思いつく限りの組み合わせをNASの認証情報に追加しましたが、依然としてNASから「共有が見つかりません」というエラーが出ています。
もしSchedulerがNASに送信している認証情報をログやキャプチャできれば、NASに正しいユーザー認証情報を追加できているか確認できるのですが、まだその方法がわかっていません。
長くなってしまい申し訳ありませんが、もし何か見落としている点があればご指摘いただけると幸いです。ありがとうございます。
rlc999
13
少し説明すると、私は地域社会で困難を抱えるクライアントにサービスを提供する非営利団体を支援しています。私たちはクライアントのすべての活動を記入可能なPDFフォームで記録し、それらをQNAP(キューナップ)デバイスに統合・保存しています。ここからレポートを作成したり、クライアントのマスターリストをまとめたりしています。実際、私はQNAPのクラウドバックアップ機能を使ってNAS(ナス)データベースのバックアップを取っていて、とても気に入っています。ただし、設定は完全なコピーとしているため、スタッフが誤ってファイルを削除したり紛失した場合、QNAPクラウドバックアップでは復元できません。LAN(ラン)ベースのスクリプトは二次バックアップとして使っています。これは冗長的な予防策として、USBストレージデバイス(暗号化済み)にバックアップファイルを保存します。このUSBは専用PCに接続して使用していますが、削除や移動されたファイルのために実質的な「リサイクル」コピーを提供するように設定しています。つまり、誰かが誤ってファイルを削除したり紛失した場合でも、たいていは見つけることができ、QNAPバックアップのリストアを実行する必要がありません。さらに、USBストレージデバイスなので、暗号化解除のパスワードさえ覚えていれば、どのPCでもアクセスできます。私のスクリプトはファイルベースで、同じファイルを探して日付を比較します。新しいファイルや、日付が変更されている場合はバックアップをコピーします。また、バックアップ上にあってNASにないファイルを見つけた場合は、それをリサイクルフォルダーに移動します。
もう少し細かい仕組みもありますが、これが基本であり、私がこの方法を気に入っている理由です。
NA9D
14
Qsyncを使えばこれができると思います。「ペア」フォルダーを設定すると、互いに常に同期されます。また、削除が発生した場合にどうするかも選択できます。USBドライブが取り外されたり変更されたりする可能性があるので、私ならNASとPC間でQsyncを使って同期します。これも「リアルタイム」で、NAS上のファイルが変更されるとすぐにPCに送られます。
そして、PC上でスクリプトを実行して「Qsync」フォルダーからUSBドライブへファイルをコピーします。
これで面倒なユーザー名などを気にする必要がなくなります。
また、NASでスナップショット機能を使うことも検討してください。誤って削除したファイルの復元にとても便利です。
rlc999
15
Qsyncのチュートリアルをざっと見てみましたが、自分のニーズに合いそうだと感じました。クラウドベースのバックアップを補完するローカルストレージが欲しいという要望にも対応しており、誤って削除したファイルを復元するオプションもあります。そしてもちろん、QNAPアプリなのでNASとローカルPCの両方に常駐するため、認証情報の問題も解決できそうです。
ただ、「いつ」同期するかを自分でコントロールできないように見えます。唯一の懸念点は、今はバックアップ時にUSBドライブのロックを解除し、バックアップ後に再びロックできていることです。ご提案の通り、PCドライブでQsyncを運用し、その後自作スクリプトでUSBドライブにコピーする方法なら、この問題も解決できそうです(PCのドライブ容量が十分であればですが)。
いずれにせよ、ご提案いただき本当に感謝していますし、私も賛成です。これは私の目的を達成するためのより高度な方法だと分かっています……ただ、自分で作って信頼してきたスクリプトを手放すのは難しいですね。でも、ユーザーにも言っている通り、変化を恐れてはいけません!改めて、ありがとうございました。
NA9D
16
Qsyncの同期を一時停止することができます。ただし、バックアップが自動で実行されている場合、それを行うAPIはないと思います。
「PCに十分な空き容量がある場合」とおっしゃっていますが、ここで扱うデータサイズはどのくらいでしょうか?PCにはどれくらいの空き容量が残っていますか?
ご説明いただいた状況については、資格情報マネージャー(Credential Manager)をリセットしてみるのも一つの方法です。
関連するFAQはこちらをご参照ください: How to fix the “Enter network credentials“ error when connecting to my NAS on Windows 10 or later? | QNAP
もちろん、Qsyncをお試しいただける場合は大変光栄です!
rlc999
18
データベースのサイズについてですが、確認したところバックアップしているデータが入っている主要なフォルダーは15GBに達しています。私が言及しているスクリプトは、Windows 10がインストールされた古いデスクトップPCで動作しています。サポート業務のほとんどはリモートで行っているため、そのPCのハードドライブにどれくらい未使用の空き容量があるかは現地で確認する必要があります。先述した通り、このPCで管理しているバックアップにはUSBドライブを使用しています。容量は少なくとも1TBあるので、スペースの問題はこれまでありませんでした。さらに、USBドライブはWindowsの機能を使って暗号化しています。クライアントの機密情報を扱っているため、その点は安心材料となっています。USBドライブは柔軟性があり、必要に応じて他のマシンでもアクセスできますが、暗号化されているため、解除するためのキーやパスワードがなければアクセスできません。
次回オフィスに行った際、このユーティリティPCにどれくらい空き容量があるか確認し、この作業に対応できるか見てみます。
これまでいただいたご協力やご提案に感謝しています。
rlc999
19
このFAQを読んだばかりですが、期待できそうです。Windows Schedulerが接続を試みる方法に合わせるためにNASに認証情報を追加することは試したことがありますが、PC側の認証情報についてはまだ試したことがありません。次回PCにアクセスできるときに試してみます。
ちなみに、私は長年NASのオーナーで、対応しているさまざまなアプリやクラウドサービスを利用してきました。皆さんは本当に素晴らしいです!ありがとうございます。