共用方式為


您無法從 Windows 用戶端電腦存取 WebDAV Web 資料夾

本文提供協助來解決您無法從 Windows 用戶端電腦存取 Web Distributed Authoring and Versioning (WebDAV) Web 資料夾的問題。

原始 KB 編號: 912152

徵兆

您無法從 Windows 用戶端電腦存取 WebDAV Web 資料夾。 當您嘗試這樣做時,可能會遇到下列徵兆:

  • 當您使用通用命名約定 (UNC) 路徑來存取 Web 資料夾時,您會收到類似下列的錯誤訊息:

    無法存取 \\server\webfolder\folder。 您可能沒有使用此網路資源的權限。
    請連絡此伺服器的系統管理員,以瞭解您是否具有存取權限。

    連接到系統的裝置無法運作。

    錯誤 31 = ERROR_GEN_FAILURE

  • 當您對應驅動程式信件以存取 Web 資料夾時,您會收到類似下列的錯誤訊息:

    磁碟未格式化

    Windows 無法從此磁碟讀取。 磁碟可能已損毀,或是使用與 Windows 不相容的格式。

  • 當您嘗試在命令提示字元中列舉 Web 資料夾時,您會收到下列錯誤訊息:

    找不到檔案

此外,每次嘗試存取 Web 資料夾時,包含 WebClient 服務的Svchost.exe程式記憶體耗用量也會增加。 Web 資料夾中每 20,000 個檔案的這個增加可能大約是 20 MB。 當您停止 WebClient 服務時,記憶體不會釋放。 只有在重新啟動計算機時,才會釋放記憶體。

原因

如果下列所有條件都成立,就可能發生此問題:

  • 用戶端電腦正在執行下列其中一個設定:

    • Windows XP 搭配 Service Pack 1 (SP1) 和安全性更新896426
    • Windows XP with Service Pack 2 (SP2)
    • Windows XP Professional x64 Edition
    • Windows 7
    • Windows 8
    • Windows 8.1
  • WebDAV 資料夾包含許多檔案。 例如,資料夾包含20,000個以上的檔案。 根據預設,Windows XP 會在一個 Web 資料夾中列舉大約 1,000 個檔案。 此數位是以下列登錄子機碼的預設設定為基礎:

    • 路徑:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\
    • 值:FileAttributesLimitInBytes
    • 數據類型:DWORD
    • 預設值:1,000,000 十進位 (1 MB)
    • 描述:此登錄子機碼會決定 WebDAV 重新導向器允許的一個資料夾中所有檔案屬性的集體大小上限。 此屬性限制涵蓋所有 PROPFIND和 PROPPATCH 回應。

發生此問題的原因是 WebDAV 伺服器傳回的所有檔案屬性大小遠大於預期的大小。 根據預設,此大小限製為1 MB。 此限制基於安全性考慮。 如需詳細資訊,請參閱 從 Web 資料夾下載大於 5000000 位元組的檔案時,資料夾複製錯誤訊息。

因應措施

重要

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必小心執行下列步驟。 為增加保護起見,請先備份登錄,再進行修改。 然後,如果發生問題,您就可以還原登錄。 如需備份和還原登錄的詳細資訊,請參閱如何在 Windows 中備份及還原登錄

若要解決此問題,請將名為 FileAttributesLimitInBytes 的 DWORD 專案新增至下列登錄子機碼:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\

FileAttributesLimitInBytes 登錄值設定為您想要的大小,然後重新啟動 WebClient 服務。 若要這樣做,請遵循下列步驟:

  1. 按一下 [開始],按一下 [執行],輸入 regedit,然後按一下 [確定]

  2. 找出並按一下下列登錄子機碼:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\

  3. [編輯] 功能表中,指向 [新增],然後按一下 [DWORD 值]

  4. 輸入 FileAttributesLimitInBytes 以取得 DWORD 的名稱,然後按 ENTER。

  5. 以滑鼠右鍵按兩下 [FileAttributesLimitInBytes],然後按兩下 [ 修改]。

  6. 在 [ 值數據] 方塊中,輸入您想要使用的值,然後按兩下 [ 確定]。 例如,如果 Web 資料夾包含 20,000 個檔案,請在 [值數據] 方塊中輸入 20000000

    注意

    如果預設值為 1,000,000 (1 MB),Windows 會在一個資料夾中列舉最多 1,000 個檔案。 根據檔案屬性或檔案屬性的數目,檔案的實際最大數目可能會有所不同。 根據預設,WebClient 服務不會要求特定的 WebDAV 屬性。 因此,伺服器會傳回所有檔案屬性。 Microsoft Office 整合式 Webfolders 重新導向器會要求特定的 WebDAV 屬性。

  7. 結束登錄編輯程式。

  8. 停止再重新啟動 WebClient 服務。 若要這樣做,請遵循下列步驟:

    1. 依序按一下 [ 開始] 和 [ 執行]、輸入 cmd,然後按一下 [ 確定]。

    2. 輸入下列命令,然後在輸入每個命令後按一下 ENTER 鍵:

      net stop webclient
      net start webclient