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

Эта статья поможет устранить проблему, из-за которой невозможно получить доступ к веб-папке web Distributed Authoring and Versioning (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 000 000 байт из веб-папки.

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

Важно!

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Для получения дополнительной информации о том, как создать резервную копию и восстановить реестр, см. статью Сведения о резервном копировании и восстановлении реестра 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. Щелкните правой кнопкой мыши FileAttributesLimitInBytes и выберите команду "Изменить".

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

    Примечание.

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

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

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

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

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

      net stop webclient
      net start webclient