メインコンテンツへ移動
AnyStorage
無料ダウンロード

WebDAV トラブルシューティング

Windows で WebDAV に接続できないときの診断リスト

Windows の WebDAV 接続失敗を症状から引く一覧。エラー文言ごとに原因と対処を示し、WebClient サービスから隠れたタイムアウト値まで順に潰します。

症状から引ける対照表と五つの確認手順。WebClient、BasicAuthLevel、そして正常なサーバーを不通に見せるキャッシュとタイムアウトまで扱います。

Windows WebDAV 接続できない、ネットワークドライブ 割り当て WebDAV、WebClient サービス

この問題を検索すると、結論の出ていないフォーラムの投稿ばかりが並びます。理由のひとつは、「Windows が WebDAV に接続できない」がひとつの障害ではないことです。少なくとも九つあり、しかも Windows はそのうちのいくつかを同じ曖昧なメッセージで報告します。

なので症状から引いてください。表で自分が見たエラー文言を探し、指し示された確認手順に進みます。最初の二つでほとんどが片づき、その下はどれも「似たメッセージを着た別の問題」です。

Windows の WebDAV 障害:症状・原因・対処
Windows の表示原因対処
エラー コード: 0x80070043WebClient 停止、HTTP 上の Basic 認証、URL の形確認 1〜3、詳細は エラー 0x80070043
システム エラー 67 が発生しました。同じ三つの原因を net use が報告した形net use のエラー 67
入力されたフォルダーは有効ではないようです。多くは WebClient 未起動、またはサブパス違い確認 1 と 3
約 50MB 超のファイルで 0x800700DFFileSizeLimitInBytes の既定値 50,000,000 バイト50MB 制限
システム エラー 5 が発生しました。アカウントかパスワードの誤り、権限不足確認 4
システム エラー 1244 が発生しました。サーバー側で認証方式が有効でない、ログオンの種類の不一致サーバー側
システム エラー 58 が発生しました。使った名前がサーバーのバインディングに無いサーバー側
システム エラー 59 が発生しました。サイトまたはアプリケーション プールが停止サーバー側
システム エラー 224 が発生しました。URL のゾーンがリダイレクターに信頼されていない信頼済みサイトに追加
システム エラー 1397 が発生しました。(相互認証の失敗)証明書認証のドライブをアイドル後に再接続した切断してから再割り当て
マウントはできるが Mac で書き込みが失敗Finder は LOCK を宣言するクラス 2 のサーバーを求めるMac で WebDAV が遅い

上のエラー番号と文言は、1244 の誤字も含めてマイクロソフトの WebDAV リダイレクターのドキュメントに出ているものです。

確認 1:WebClient サービスは動いているか

Windows で割り当てた WebDAV ドライブは、すべて WebClient というサービスを通ります。マイクロソフトは 2023 年 11 月にこれを非推奨とし、同じお知らせで Webclient サービスは既定では開始されないと明記しています。素の Windows 11 では、他のどの原因よりこれが多いです。

powershell

Get-Service WebClient | Format-List Name, Status, StartType
Set-Service -Name WebClient -StartupType Automatic
Start-Service -Name WebClient

services.msc で「状態」列が空だったなら、WebDAV リダイレクターは読み込まれておらず、どうやっても割り当ては成功しません。そのときエクスプローラーが出すのは「入力されたフォルダーは有効ではないようです。」で、悪くもない URL を延々と疑うことになります。

確認 2:HTTP 上の Basic 認証を許可しているか

WebClient は BasicAuthLevel というレジストリ値を読みます。文書化されている値は三つで、0 は無効、1 は SSL サイトのみ、2 は SSL と非 SSL の両方です。既定値は 1 なので、Basic 認証の http:// エンドポイントはパスワードを聞かれる前に失敗します。

cmd

reg add "HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" /v BasicAuthLevel /t REG_DWORD /d 2 /f
net stop WebClient
net start WebClient

再起動は省略できません。マイクロソフトのドキュメントも、このキーの値を変更したら WebClient を再起動するか PC を再起動する必要があると書いています。これを飛ばすせいで「この対処は迷信」と結論する人が多いのです。

レベル 2 の代償も理解しておきます。資格情報は平文で流れます。127.0.0.1 なら妥当、自分の管理下のネットワークなら許容範囲、インターネット越しには不適切で、その場合は HTTPS を使います。

確認 3:URL はリダイレクターが受け付ける形か

  • スキームを書く。http://host:port/path。ホスト名だけだと SMB として扱われ、サーバーに届きません。
  • 80 と 443 以外のポートは必ず書く。WebDAV 拡張の仕様書には、Vista 以前のクライアントがポート 80 しか扱えなかったと記録されています。だから書式が後付けに見えます。
  • サブパスを正確に合わせる。/dav や /remote.php/dav/files/alice のような公開パスに対し、一階層上を割り当てると同じ「有効ではないようです」になります。
  • コマンドラインならどちらでも可。net use * http://www.example.com、または \\server[@SSL][@port][\path] という UNC 形式で、DavWWWRoot がサーバーのルートを指します。

確認 4:古い資格情報が送られていないか

コントロール パネル、資格情報マネージャー、Windows 資格情報で、そのホストの項目をすべて削除します。そのうえで net use Z: /delete で中途半端な割り当てを落としてから再試行します。パスワードを直しても 0x80070043 が残るのは、間違ったものがキャッシュに残っているからです。

関連して、マイクロソフトは Windows 7 以降 Basic 認証の資格情報を資格情報マネージャーに保持できないと明記しています。つまりサインイン時に自動復元はされません。同社の推奨はログオン スクリプトで net use をやり直すことです。

確認 5:誰も触れないタイムアウトとキャッシュ

以下はすべて HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters にあり、すべてマイクロソフトが文書化しており、すべてサービス再起動で有効になります。「ときどき動く」という報告の多くはここで説明できます。

  • ServerNotFoundCacheLifeTimeInSec、既定 60。WebDAV サーバーではなかったホストを覚えていて、一分間は即座に失敗を返します。直してすぐ再試行すると同じエラーになる理由です。
  • InternetServerTimeoutInSec、既定 30、および LocalServerTimeoutInSec、既定 15。リモートとローカルの接続タイムアウトです。
  • SendReceiveTimeoutInSec、既定 60。リクエスト単位なので、大きなファイルの遅い PUT はサイズ制限ではなくここで落ちることがあります。
  • FileAttributesLimitInBytes、既定 1,000,000。ひとつのコレクションの全プロパティ合計の上限で、数千件のフォルダーでは届きます。
  • SupportLocking、既定 1。LOCK を実装しないサーバーに対する挙動が変わります。
  • FileNotFoundCacheLifeTimeInSec。大文字小文字を区別する Linux の WebDAV サーバーに接続するときは 0 にすることをマイクロソフトが推奨しています。大文字小文字だけ違う名前がファイル未検出やデータ上書きを招くためです。

Windows の問題ではない場合

  • macOS では症状が違います。マウントはできて書き込みだけ静かに失敗する。Finder が LOCK を宣言するクラス 2 のサーバーを求めるためです。Mac で WebDAV が遅い を参照してください。
  • 接続する側ではなくサーバーを立てたいなら Windows で WebDAV サーバーを動かす です。
  • 割り当ては動くのに 50MB でコピーが止まるなら、ここまでの話はどれも外れです。50MB 制限 を見てください。

ローカルのサーバー(AnyStorage の 3211 番)を割り当てる

AnyStorage は自分の PC で WebDAV サーバーを動かします。サイドバーの Services、WebDAV タブ、Start、エンドポイントは http://127.0.0.1:3211 で、ポートは変更できます。アプリで開いている接続はすべてルート直下のフォルダーになるので、割り当て一つで S3 バケット、Cloudflare R2、Backblaze B2、MinIO、Google ドライブ、OneDrive、Dropbox、SFTP ホストに届きます。

確認 1 と 2 はそのまま当てはまります。エンドポイントは HTTP、Basic 認証は常に有効なので、WebClient が動いていて BasicAuthLevel が 2 である必要があります。資格情報は WebDAV タブにあり、既定のユーザー名は anystorage、パスワードは生成された 24 文字です。無料版ではマウントは読み取り専用で、読み書きは Pro の機能です。接続は遅延して行われるため、そのセッションでアプリ内から開いた接続だけがルートに現れます。現行バージョンに TLS はなく、だからこそ既定で 127.0.0.1 にバインドし、LAN 公開を有効にする前に警告します。

全部試してもだめでした。

同じ URL に別の WebDAV クライアントを向けてください。そちらが接続できてエクスプローラーができないなら、問題はサーバーではなくリダイレクターです。レジストリをこれ以上いじっても変わりません。

大量転送に割り当てドライブを使うべきですか。

割り当てドライブは閲覧と小さなドラッグに向いています。まとまった転送はストレージと直接やり取りするクライアントで行うのが筋で、WebClient もそのレジストリ値も 4GB の上限も回避できます。

Windows 11 なら少しは楽になりますか。

なりません。WebClient は Windows 10 と 11 の両方で非推奨、既定値は十年来のまま、どちらでも既定では起動しません。上の確認は恒久的なものとして扱ってください。