從 Windows 排程器存取 NAS

我找不到有討論我所遇到問題的相關主題。我最近從 TS119 升級到 TS262,一切都很好,除了有一個 Visual Basic 腳本在搭配 Windows 排程器(Scheduler)時不再運作。這個腳本其實很簡單,就是把檔案從 NAS 複製到 Windows 電腦(Win 10)上的 USB 隨身碟,反之亦然。雖然我已經把 NAS 映射成電腦上的一個磁碟機,但我在使用 TS119 時就學會在腳本裡用「\\server\…」的方式來引用 NAS 路徑,這樣用 Scheduler 執行時才會正常。這在 TS119 上一切都很順利,但在 TS262 上就不行了。我試過很多方法,包括用 IP 位址(\\192.168.1.nnn)和伺服器名稱(\\NAS87695B)來引用,但都沒有效。我也嘗試在腳本裡映射磁碟機,並指定我在 NAS 上設定的帳號密碼,還是沒有用。

如果有其他建議可以嘗試的方式,非常感謝。

對我來說沒有任何變化(TS-419p+ 與 TVS-h1288X 相比),至少在 Windows 批次命令列使用上,仍然是透過相同的 UNC 路徑參照

你可以貼出你的腳本嗎?

你有沒有想過,不是執行腳本,而是運行像 Qsync 這樣的東西?

您應該可以將輸出捕捉到日誌檔案中,查看確切的錯誤訊息。這很可能只是主機名稱或共享名稱的語法變更,或是使用者憑證的問題。您也可以逐行互動執行,查看輸出,以協助找出問題所在。

這個腳本相當長。不過,它是用 vbs 編寫的。當排程器(Scheduler)執行時失敗的 vbs 語句是:“If not(fs.FolderExists(InShare) then”。變數 InShare 可以是我傳給它的任何值。在這個例子中,它會是類似 “\\\\192.168.12.150\\Documents\\rick\\”。再次強調,當我以線上使用者身份執行時一切正常,但透過排程器執行時就會失敗。

沒有,我沒有使用過 Qsync 的經驗,但我願意研究並嘗試。這是可以離線運行的嗎?QNAP 會接受它的憑證嗎?

不確定該怎麼做。我要在哪裡啟用日誌檔?是在 QNAP 上,還是 Windows 排程器(Windows Scheduler)上?再說一次,這個腳本如果我以線上使用者執行是沒問題的;所以不確定互動式執行有什麼影響。只有當它由 Windows 排程器執行時,QNAP 才會拒絕存取。

Qsync 會在電腦背景執行,並且能夠幾乎即時同步兩端的任何檔案變更。它運作時是完全透明的。

你是如何驗證已被設定為有權存取該共享資料夾的使用者身分?

我正在使用的 vbs 腳本在新的 QNAP 上遇到一些問題,但它為我做了很多事情,並且具備我需要的功能。話雖如此,您關於 Qsync 的建議聽起來很有趣,也很相關。我一定會試試看,看看它在我的區域網路環境中是否可行。謝謝。

請幫我了解一下你的腳本除了同步檔案之外還有什麼功能?你可以讓 Qsynch 負責所有檔案同步。然後,如果你想修改檔案名稱或日期等,可以在電腦上使用你的腳本來操作。這個腳本就不需要連接到 NAS。之後,任何更動都會再同步回 NAS。

我可能不太理解你的問題。 我已在 NAS 上新增了使用者憑證,這些憑證與我想要提供存取權限的每台 PC 上的使用者帳戶相符。 再說一次,當我以線上使用者身份執行 vbs 腳本時,它運作得很正常。 在這種情況下,我知道 NAS 能夠識別 PC 的使用者憑證並提供存取權限。 我沒有另外做任何使用者驗證的動作。 如果我在未被新增為 NAS 使用者的 PC 上執行該腳本,vbs 腳本就會顯示找不到共享的錯誤。 這也是我透過排程器執行腳本時遇到的錯誤。 我知道排程器在格式化使用者帳戶時,與線上使用者不同,並且它提供了一些設定選項來指定離線腳本執行時所用的使用者帳戶。 我已經嘗試過排程器中的各種設定選項;也在 NAS 上新增了其他使用者憑證,試圖新增一個能與排程器所用帳戶相符的憑證。 比如,我相信排程器會將使用者格式化為“PCName\\username”,這當然與啟動 PC 時所用的帳戶名稱不同。 所以,我已經把我能想到的所有組合都新增到 NAS 的憑證裡,但仍然收到 NAS 的“找不到共享”錯誤。

如果有辦法記錄/擷取排程器傳送到 NAS 的憑證,我就能確認自己在 NAS 上新增的使用者憑證是否正確,但顯然我還沒找到方法。

很抱歉說得有點冗長,如果你能指出我漏掉了什麼……謝謝。

有些背景資訊可能會有所幫助。我正在支援一家非營利組織,為我們社區中弱勢客戶提供服務。我們會將所有客戶的活動記錄在可填寫的 PDF 表單上,並將這些表單整合後儲存在 QNAP 設備上。從這裡,我們可以執行報告、整合客戶主名單等等。事實上,我使用 QNAP 的雲端備份功能來備份我們的 NAS 資料庫,而且我很喜歡這個功能。不過,我將它設定為完全複製。因此,如果我們的員工不小心刪除或遺失了檔案,QNAP 雲端備份就無法讓我恢復該檔案。我的區域網路備份腳本是我的第二備份。它讓我有第二份備份,作為冗餘的預防措施。它會將備份檔案儲存在插在我專用電腦上的 USB 儲存裝置(已加密)上。不過,我將它設定為能夠有效地為任何被刪除或移動的檔案提供「回收」副本。這樣一來,如果有人不小心刪除或遺失了檔案,我通常都能找到它,而且不必執行 QNAP 備份還原。另外,它是 USB 儲存裝置,所以只要記得密碼解開加密,我可以在任何插入的電腦上存取。我的腳本是以檔案為基礎。它會尋找相符的檔案並比較日期。如果是新檔案或來源有變更日期,它就會複製備份。如果它發現備份上有 NAS 上沒有的檔案,就會將該檔案移到回收資料夾。

還有一些細節,不過這就是基本情況,也是我喜歡它的原因。

我認為你可以用 Qsync 來做到這件事。你可以設定「配對」資料夾,這些資料夾會彼此持續同步。你還可以選擇在刪除檔案時要採取什麼動作。由於你的 USB 隨身碟可能會被移除或更換,我會建議用 Qsync 在 NAS 和電腦之間同步——這是「即時」的——NAS 上的檔案一有變動,就會立刻傳送到電腦上。

然後你可以在電腦上執行你的腳本,把「Qsync」資料夾裡的檔案複製到 USB 隨身碟。

這樣你就不用擔心任何麻煩的使用者名稱等問題了。

你也應該考慮在 NAS 上使用快照功能。快照對於恢復那些不小心刪除的檔案非常有用。

我快速瀏覽了一下 Qsync 教學,認同它看起來確實能滿足我的需求。它解決了我想要有本地儲存來輔助雲端備份的需求,並且有選項可以恢復誤刪的檔案。而且,因為它是 QNAP 的應用程式,同時安裝在 NAS 和本地電腦上,應該能解決我的憑證問題。

看起來我無法控制「何時」同步。唯一的問題是,目前我可以在備份時解鎖 USB 硬碟,備份完再鎖回去。你建議我用電腦硬碟來處理 Qsync,再用我自己的腳本複製到 USB 硬碟,這個方法應該可以解決這個問題,只要電腦硬碟空間足夠。

總之,非常感謝你的建議,我也很同意。我知道這是一個更進階的方法來達成我的目標……雖然要放棄自己寫且一直信任的腳本會有點困難。不過,就像我常跟使用者說的,不能抗拒改變!再次感謝你。

你可以暫停 Qsync 的同步。如果你的備份是自動執行的,我認為沒有 API 可以做到這一點。

你說「只要電腦有足夠的空間」——這裡的資料量大概是多少?電腦剩餘多少可用空間?

針對您所描述的情況,您也可以考慮重設憑證管理員,看看是否有所幫助。

您可以參考這裡的相關常見問題解答:如何修復在 Windows 10 或更高版本連接到我的 NAS 時出現的“輸入網路憑證”錯誤? | QNAP

當然,如果您願意嘗試 Qsync,我們將感到非常榮幸!

關於資料庫大小,我剛檢查過,包含我們備份資料的主要資料夾已經達到15GB。我提到的那個腳本是在一台舊桌上型電腦(Windows 10)上執行的。我大部分支援工作都是遠端進行,所以需要檢查那台電腦的硬碟實際剩餘空間。如我之前所說,我用這台電腦備份資料時是使用USB隨身碟,容量至少有1TB,所以空間一直不是問題。此外,我已經利用Windows的功能將USB隨身碟加密。考慮到我們處理的是客戶機密資訊,這讓我比較安心。雖然USB隨身碟很有彈性,可以在其他機器上存取,但它已加密,沒有金鑰或密碼就無法解鎖存取。

下次我到辦公室時,會檢查這台工具電腦的剩餘空間,看看是否能夠處理這些資料。

感謝你一直以來的協助和建議。

我剛剛閱讀了這份常見問題集,感覺很有希望。雖然我曾嘗試將憑證新增到 NAS 上,以便與 Windows 排程器連線的方式保持一致,但我還沒在電腦上嘗試過憑證。我下次能夠使用電腦時會試試看。

順帶一提,我已經是 NAS (網路儲存伺服器) 的使用者多年,也用過它支援的各種應用程式和雲端服務。你們真的很棒!謝謝。

意思是說「QNAP」擁有者!