Вы не можете получить доступ к веб-папке WebDAV с клиентского компьютера под управлением Windows

Эта статья поможет решить проблему, из-за которой невозможно получить доступ к веб-папке распределенной разработки и управления версиями (WebDAV) с клиентского компьютера под управлением Windows.

Область применения: Windows 10 — все выпуски, Windows 7 с пакетом обновления 1 (SP1), Windows Server 2012 R2
Исходный номер базы знаний: 912152

Симптомы

Вы не можете получить доступ к веб-папке WebDAV с клиентского компьютера под управлением Windows. При попытке сделать это могут возникнуть следующие симптомы:

  • При использовании UNC-пути для доступа к веб-папке появляется сообщение об ошибке, похожее на следующее:

    \\server\webfolder\folder недоступен. Возможно, у вас нет прав на использование этого сетевого ресурса.
    Обратитесь к администратору этого сервера для получения соответствующих прав доступа.

    Устройство, подключенное к системе, не работает.

    ошибка 31 = ERROR_GEN_FAILURE

  • При сопоставлении письма драйвера с доступом к веб-папке появляется сообщение об ошибке, похожее на следующее:

    Диск не отформатирован

    Windows не удается выполнить чтение с этого диска. Диск может быть поврежден или использовать формат, несовместимый с Windows.

  • При попытке перечислить веб-папку в командной строке появляется следующее сообщение об ошибке:

    Файл не найден

Кроме того, при каждой попытке доступа к веб-папке увеличивается потребление памяти для Svchost.exe процесса, содержащего службу WebClient. Это увеличение может составлять примерно 20 мегабайт (МБ) на каждые 20 000 файлов в веб-папке. Память не освобождается при остановке службы WebClient. Память освобождается, только если компьютер перезагружается.

Причина

Эта проблема может возникнуть, если выполняются все следующие условия:

  • Клиентский компьютер работает под управлением одной из следующих конфигураций:

    • Windows XP с пакетом обновления 1 (SP1) и обновлением для системы безопасности 896426
    • Windows XP с пакетом обновления 2 (SP2)
    • Windows XP Professional x64 Edition
    • Windows 7
    • Windows 8
    • Windows 8.1
  • Папка WebDAV содержит много файлов. Например, папка содержит 20 000 или более файлов. По умолчанию Windows XP перечисляет около 1000 файлов в одной веб-папке. Это число основано на параметре по умолчанию для следующего подраздела реестра:

    • Путь: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\
    • Значение: FileAttributesLimitInBytes
    • Тип данных: DWORD
    • Значение по умолчанию: 1 000 000 десятичных (1 МБ)
    • Описание. Этот подраздел реестра определяет максимальный общий размер всех атрибутов файла в одной папке, разрешенный перенаправлением WebDAV. Это ограничение атрибутов охватывает все ответы PROPFIND и PROPPATCH.

Проблема возникает из-за того, что размер всех атрибутов файла, возвращаемых сервером WebDAV, значительно превышает ожидаемый. По умолчанию этот размер ограничен 1 МБ. Это ограничение применяется по соображениям безопасности. Дополнительные сведения см. в статье Сообщение об ошибке копирования папки при скачивании файла размером более 500 0000 байт из веб-папки.

Обходной путь

Важно!

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Для получения дополнительной информации о том, как создать резервную копию и восстановить реестр, см. статью Сведения о резервном копировании и восстановлении реестра Windows.

Чтобы обойти эту проблему, добавьте запись DWORD с именем FileAttributesLimitInBytes в следующий подраздел реестра:

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 и нажмите клавишу ВВОД.

  5. Щелкните правой кнопкой мыши файлAttributesLimitInBytes и выберите команду Изменить.

  6. В поле Данные значения введите значение, которое нужно использовать, и нажмите кнопку ОК. Например, если веб-папка содержит 20 000 файлов, введите 20000000 в поле Значение .

    Примечание.

    Если значение по умолчанию — 1 000 000 (1 МБ), Windows будет перечислять не более 1000 файлов в одной папке. Фактическое максимальное количество файлов может отличаться в зависимости от количества атрибутов файла или свойств файла. По умолчанию служба WebClient не запрашивает определенные свойства WebDAV. Таким образом, сервер возвращает все атрибуты файла. Перенаправление webfolders, интегрированное в Microsoft Office, запрашивает определенные свойства WebDAV.

  7. Закройте редактор реестра.

  8. Остановите и перезапустите службу WebClient. Для этого выполните следующие действия:

    1. Нажмите кнопку Пуск, нажмите кнопку Выполнить, введите cmd и нажмите кнопку ОК.

    2. Введите следующие команды и нажмите клавишу ВВОД после каждой команды:

      net stop webclient
      net start webclient