実際に変わったこと
あなたのサーバーは何も変わっていません。マイクロソフトの「非推奨機能」一覧に、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 の再起動か PC の再起動が必要と明記されています。また非 SSL 接続での Basic 認証はドキュメントが「strongly discouraged」と呼ぶもので、それは正しい——資格情報は平文で流れます。ループバックなら通信は機械の外に出ませんが、経路に乗るなら HTTPS にして値は 1 のままにしてください。
3. 上限を、ぶつかる前に知る
以下の値はすべてマイクロソフトの WebDAV リダイレクター文書に載っている同じレジストリキーのもので、どれも伝聞ではなく実在の数字です。
| 値 | 何を制御するか | 既定 |
|---|---|---|
FileSizeLimitInBytes | ファイル転送で許可する最大サイズ | 50,000,000(10 進、50 MB) |
FileAttributesLimitInBytes | 一つのコレクションの全プロパティの最大サイズ | 1,000,000(10 進、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 以降)は中間の道を取ります。ファイル転送はストレージのプロトコル自身(パススタイルとカスタムリージョンに対応した S3 互換エンドポイント、鍵認証の SFTP、WebDAV)で行い、ドライブレターが欲しいときだけ内蔵のローカル WebDAV サーバー(http://127.0.0.1:3211)から一つ差し出します。FUSE も WinFsp も macFUSE も不要、アプリで開いている接続がそのルート配下のフォルダーとして並び、無料プランの接続数は 2 つ。ただしその割り当てにも上のルールは全部適用されます。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 制限