真正改變的事
不是你的伺服器。微軟的 Windows 用戶端淘汰功能清單裡有這一條,宣布時間是 2023 年 11 月:
text
Webclient (WebDAV) Service
The Webclient (WebDAV) service is deprecated.
The Webclient service isn't started by default in Windows.這兩句話解釋了網路上大多數「Windows 11 的 WebDAV 不能用」的貼文。功能還在,也還能用;只是不再繼續開發,而且在全新安裝的系統上那個服務是停著的,於是第一次對應就失敗。更麻煩的是你拿到的提示——「找不到網路名稱」、0x80070043、「The folder you entered does not appear to be valid.」——完全沒提服務沒啟動這件事。
| 失敗表現 | 原因 | 處理 |
|---|---|---|
| 任何對應嘗試都立刻失敗 | WebClient 服務沒啟動 | 啟動並設為自動 |
http:// 端點,從不彈出密碼框 | Basic 驗證限定 SSL 網站 | BasicAuthLevel = 2 |
複製到 50 MB 左右回報 0x800700DF | FileSizeLimitInBytes 預設值 | 調高數值,重啟服務 |
| 剛修好立刻重試,錯誤照舊 | 非 WebDAV 伺服器快取 | 等 60 秒 |
| 重開機之後對應消失 | Basic 憑證不會被保存 | 用登入指令碼重新對應 |
1. 啟動服務,並設為自動
powershell
Get-Service WebClient | Format-List Name, Status, StartType
Set-Service -Name WebClient -StartupType Automatic
Start-Service -Name WebClient在管理員命令提示字元操作時,每個 = 後面要有空白:微軟的 sc.exe config 參考說明,選項與值之間必須有空白,省略會讓操作失敗——而被到處複製的 start=auto 正是省略空白的寫法。
cmd
sc.exe config WebClient start= auto
sc.exe start WebClientWindows Server 上在加入「桌面體驗」功能之前重新導向器根本沒安裝;Windows 11 上它裝了,只是睡著。
2. 允許對 http:// 端點送出 Basic 憑證
Windows 10 與 11 預設不會把 Basic 憑證送給明文端點,而且失敗時不彈窗,所以這個原因常被誤判成密碼問題。控制它的是 HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 下的 DWORD 值 BasicAuthLevel。微軟文件寫明 0 為停用、1 為「Basic authentication is enabled for SSL web sites only」、2 為「enabled for SSL and non-SSL web sites」,預設是 1。
cmd
reg add "HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" /v BasicAuthLevel /t REG_DWORD /d 2 /f
net stop WebClient
net start WebClient重啟是必須的:該機碼的註記明確說改任何值之後都要重啟 Web Client 或重新開機。微軟也把非 SSL 連線上的 Basic 驗證稱為「strongly discouraged」,這話沒錯——憑證是明文過線的。回送位址上流量不出本機;只要會走網路,就用 HTTPS 並把值保持在 1。
3. 在撞上之前先知道上限
下面每個值都來自微軟的 WebDAV 重新導向器文件,同一個登錄機碼,全是實數而非傳聞。
| 值 | 控制什麼 | 預設 |
|---|---|---|
FileSizeLimitInBytes | 服務允許的最大檔案傳輸大小 | 50,000,000(十進位,50 MB) |
FileAttributesLimitInBytes | 單一集合上所有屬性的最大大小 | 1,000,000(十進位,1 MB) |
SendReceiveTimeoutInSec | 發出 GET /file.ext 之類請求後的逾時 | 60 |
InternetServerTimeoutInSec | 非本機伺服器的連線逾時 | 30 |
LocalServerTimeoutInSec | 本機伺服器的連線逾時 | 15 |
ServerNotFoundCacheLifeTimeInSec | 主機被快取為非 WebDAV 的時間 | 60 |
SupportLocking | 是否支援 LOCK | 1 |
BasicAuthLevel | Basic 驗證:關 / 僅 SSL / 兩者 | 1 |
其中兩個值得多看一眼。FileSizeLimitInBytes 就是著名的 50 MB 天花板;它是 DWORD,所以最大只能是 4,294,967,295 位元組——這就是為什麼 Windows 的 WebDAV 對應再怎麼設定都搬不動一個 5 GB 的檔案(細節見Windows WebDAV 50 MB 限制)。而 ServerNotFoundCacheLifeTimeInSec 正是「我修好了卻沒用」的真相:60 秒內服務直接回傳快取的失敗,根本不聯絡伺服器。
4. 排查期間用指令列對應
精靈給你一句話,net use 給你一個編號,而編號可以搜尋。微軟的說明用一般 URL 形式,UNC 形式記載為 \\server[@SSL][@port][\path],@SSL 代表 HTTPS,@port 在非 80/443 時必填:
cmd
net use Z: https://dav.example.com/files /user:alice *
net use Y: \\dav.example.com@SSL@8443\DavWWWRoot\files /user:alice *結尾的 * 讓 Windows 提示輸入密碼,而不是留在指令歷史裡。如果答案是 System error 67,讀net use 錯誤 67;檔案總管版的寫法是0x80070043;精靈自己的拒絕另有一頁:輸入的資料夾似乎無效。
5. 登出就消失的對應
這是記載過的行為,不是 Windows 11 的退步:自 Windows 7 起,Basic 驗證的憑證無法由憑證管理員保存,所以 Basic 驗證的 WebDAV 對應只能重建而不是還原。微軟自己的排查建議也是用登入指令碼重新執行指令。
powershell
if (-not (Test-Path Y:)) {
net use Y: http://127.0.0.1:3211/ /user:anystorage
}「淘汰」對你意味著什麼
淘汰不是移除。微軟自己的定義是:該功能不再積極開發,可能在未來更新中被移除。WebClient 這條自 2023 年 11 月起一直掛著,沒有給出移除日期。實際含義有三點:沒有新功能、沒有效能改進、下一個大版本沒有保證。
它也意味著長期方案不該只依賴 Windows 重新導向器做大量作業。直接說儲存 API 的用戶端沒有要啟動的服務、沒有 BasicAuthLevel、沒有 4 GB 天花板。AnyStorage(v0.2.24;macOS 11+、Windows 10+、Ubuntu 20.04+)走的是中間路線:檔案傳輸用儲存協定本身——支援 path-style 與自訂區域的 S3 相容端點、金鑰驗證的 SFTP、WebDAV——需要磁碟機代號時,再由內建的本機 WebDAV 服務(http://127.0.0.1:3211)提供一個,不裝 FUSE、WinFsp 或 macFUSE。應用程式裡開啟的每個連線都會成為該根目錄下的資料夾,免費版可用兩個連線。不過上面那些規則對這個對應同樣適用:Windows 對回送 WebDAV 服務與別人一視同仁,WebClient 要在跑,BasicAuthLevel 要是 2。
Windows 11 24H2 裡 WebDAV 被移除了嗎?
沒有。是淘汰不是移除,服務仍隨系統提供。變的是它不會自己啟動,所以每台機器需要手動開一次。
我的 NAS 在瀏覽器看得到,為什麼做不成磁碟機?
因為重新導向器問的是另一個問題。它發 OPTIONS 並要求 DAV 回應標頭,接著發 PROPFIND。一台伺服器完全可以正常提供網頁,卻不在你輸入的路徑上宣告 WebDAV。
50 MB 限制可以安全調高嗎?
在合理範圍內可以。FileSizeLimitInBytes 是 DWORD,最大 4294967295,改完需要重啟 WebClient 或重新開機。它不會讓傳輸變快,只是讓傳輸被允許。
換成 HTTPS 能解決逾時嗎?
不能。逾時是 SendReceiveTimeoutInSec(60 秒)、InternetServerTimeoutInSec(30)與 LocalServerTimeoutInSec(15),與協定無關。對上千個項目的目錄做一次慢 PROPFIND,兩種協定都會撞上。
下一步
- Windows 端完整清單:Windows 無法連線 WebDAV
- 它會產生的兩個錯誤碼:0x80070043 與 錯誤 67
- 大檔為什麼失敗:Windows WebDAV 50 MB 限制