Как исправить ошибку 0x80004005 при подключении к расшаренной папке с базой 1С?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При попытке подключиться к сетевой папке, где хранится база данных 1С, пользователи Windows могут столкнуться с загадочной ошибкой 0x80004005. Эта ошибка часто указывает на проблемы с доступом к сетевым ресурсам, вызванные неправильными настройками прав, сетевыми ограничениями, брандмауэром или особенностями протокола SMB. Рассмотрим подробнее, как мы можем диагностировать и устранить эту проблему, чтобы обеспечить стабильный доступ к вашей базе 1С.

Мы будем разбирать шаги, которые помогут вам настроить корректное взаимодействие между компьютерами в локальной сети. Прежде всего, убедимся, что оба ПК находятся в одной локальной сети и способны "видеть" друг друга.

1. Проверка и настройка прав доступа к папке

Одной из наиболее частых причин ошибки 0x80004005 являются некорректно заданные права доступа к общей папке. Нам необходимо убедиться, что пользователь, с которого мы пытаемся подключиться, имеет необходимые разрешения.

  1. Права общего доступа:

    На компьютере №1, где расположена расшаренная папка с базой 1С, проверьте настройки общего доступа. Щелкните правой кнопкой мыши по папке, выберите «Свойства», затем перейдите на вкладку «Доступ» и нажмите «Расширенная настройка». Убедитесь, что установлен флажок «Открыть общий доступ к этой папке».

    Далее нажмите кнопку «Разрешения». Здесь мы должны предоставить доступ либо конкретному пользователю, либо группе. Если вы пытаетесь настроить доступ без пароля, убедитесь, что в списке присутствует пользователь «Все» и ему предоставлены разрешения на «Чтение» и «Изменение» (или «Полный доступ»). Если мы планируем использовать гостевой доступ, то также убедимся, что у «Гостя» есть соответствующие права.

  2. Файловые права NTFS (вкладка «Безопасность»):

    Даже если общий доступ настроен верно, некорректные права NTFS на самой папке или ее родителях могут блокировать доступ. Вернитесь в «Свойства» папки и перейдите на вкладку «Безопасность». Здесь мы проверяем, имеет ли пользователь, от имени которого осуществляется подключение, или группа «Все»/«Пользователи» достаточные права («Чтение и выполнение», «Список содержимого папки», «Чтение», «Изменение», «Запись»).

    Если вы сталкиваетесь с проблемами наследования или запутанными правами, можем попробовать сбросить их с помощью команды icacls. Откройте командную строку от имени администратора на компьютере №1, перейдите в директорию, содержащую проблемную папку, и выполните команду (замените <имя_папки> на реальное имя):

    icacls <имя_папки> /T /Q /C /RESET

    Эта команда сбросит разрешения для указанной папки и всех ее подпапок и файлов, устанавливая их в соответствии с наследуемыми по умолчанию значениями. После этого нам, возможно, потребуется заново настроить нужные разрешения для общего доступа.

  3. Создание пользователя на ПК с базой:

    Если мы не используем гостевой доступ (что является более безопасным вариантом), необходимо создать на компьютере №1 (с базой 1С) учетную запись пользователя с теми же именем и паролем, что и на компьютере №2, с которого мы пытаемся подключиться. После создания пользователя, добавьте его в список разрешений на вкладках «Доступ» и «Безопасность» для расшаренной папки.

    Обращаем ваше внимание: использование парольного доступа значительно повышает безопасность вашей сети и является рекомендованной практикой, несмотря на возможное увеличение сложности начальной настройки.

2. Настройка гостевого доступа и протокола SMB

Начиная с Windows 10 версии 1709 и Windows Server 2019, операционные системы по умолчанию блокируют небезопасный гостевой вход для клиентов SMB2 и SMB3. Это означает, что если мы пытаемся подключиться без аутентификации или через учетную запись гостя, система может выдать ошибку 0x80004005.

  1. Разрешение небезопасного гостевого входа:

    Для разрешения анонимного или гостевого доступа нам придется внести изменения в локальную групповую политику на обоих компьютерах. Выполним следующие шаги:

    1. Нажмите Win + R, введите gpedit.msc и нажмите Enter, чтобы открыть «Редактор локальной групповой политики».

    2. Перейдите по пути: «Конфигурация компьютера» -> «Административные шаблоны» -> «Сеть» -> «Рабочая станция Lanman».

    3. Найдите политику «Разрешить небезопасный гостевой вход» (Enable insecure guest logons). Дважды щелкните по ней и установите значение в «Включено».

    4. Нажмите «Применить» и «ОК».

    Также мы можем добиться того же результата, добавив параметр реестра. Нажмите Win + R, введите regedit и перейдите к следующей ветке:

    
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
    

    Создайте новый параметр DWORD (32 бита) с именем AllowInsecureGuestAuth и установите его значение в 1. После изменения реестра нам необходимо перезапустить службу «Рабочая станция» для применения изменений. Это можно сделать через «Службы» (services.msc) или командную строку:

    
    net stop lanmanworkstation
    net start lanmanworkstation
    
  2. Отключение цифровой подписи SMB:

    Иногда проблемой может быть обязательная цифровая подпись для клиента Microsoft Networks. Мы можем попробовать отключить эту политику. Нажмите Win + R, введите secpol.msc и нажмите Enter, чтобы открыть «Локальные политики безопасности».

    1. Перейдите по пути: «Локальные политики» -> «Параметры безопасности».

    2. Найдите политику «Клиент сетей Майкрософт: использовать цифровую подпись (всегда)».

    3. Установите ее значение в «Отключено».

    После изменения перезагрузите компьютеры.

  3. Настройка службы SMB:

    Убедимся, что служба SMB настроена на автоматический запуск и работает корректно. Откроем командную строку от имени администратора на компьютере №1 и выполним команду:

    sc.exe qc lanmanworkstation

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

    
    sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
    sc.exe config mrxsmb20 start= auto
    

    Эти команды устанавливают зависимости и настраивают автоматический запуск необходимых компонентов SMB.

  4. Включение SMB 1.0/CIFS (для совместимости):

    В некоторых случаях, особенно при взаимодействии со старыми сетевыми хранилищами (NAS) или очень старыми версиями Windows, может потребоваться включение устаревшего протокола SMB 1.0/CIFS. Однако мы должны помнить, что SMB 1.0 является менее безопасным протоколом. Чтобы включить его:

    1. Нажмите Win + R, введите optionalfeatures и нажмите Enter.

    2. В открывшемся окне «Компоненты Windows» найдите и установите флажок напротив «Поддержка общего доступа к файлам SMB 1.0/CIFS».

    3. Перезагрузите компьютер.

3. Проверка сетевых параметров и служб

Проблемы с сетью или остановленные системные службы также могут вызывать ошибку 0x80004005.

  1. Пинг и брандмауэр:

    Прежде всего, давайте убедимся, что компьютеры видят друг друга в сети. Откройте командную строку на ПК №2 и пропингуйте ПК №1 по IP-адресу (например, ping 192.168.1.10). Если пинг неудачен (нет ответа или превышено время ожидания), причина, скорее всего, в сетевом подключении или брандмауэре.

    Проверьте настройки брандмауэра Windows Defender на обоих ПК. Убедитесь, что нет правил, блокирующих входящие/исходящие подключения для сетевых папок (File and Printer Sharing). Временное отключение брандмауэра на обоих ПК для проверки поможет быстро локализовать проблему. Если отключение брандмауэра решает проблему, нам потребуется настроить соответствующие исключения.

  2. Антивирусное программное обеспечение:

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

  3. Настройки протокола IPv6:

    Иногда отключение протокола IPv6 для сетевого подключения может помочь решить проблемы с сетевым доступом. Перейдите в «Центр управления сетями и общим доступом» -> «Изменение параметров адаптера», щелкните правой кнопкой мыши по вашему сетевому адаптеру, выберите «Свойства» и снимите флажок с «Протокол интернета версии 6 (TCP/IPv6)».

  4. NetBIOS через TCP/IP:

    Убедитесь, что для IPv4-подключения включен NetBIOS через TCP/IP. В свойствах вашего сетевого адаптера, выберите «Протокол интернета версии 4 (TCP/IPv4)», нажмите «Свойства», затем «Дополнительно...» и на вкладке «WINS» убедитесь, что выбрана опция «Включить NetBIOS через TCP/IP».

  5. Важные службы Windows:

    Для корректной работы сетевых папок необходим ряд системных служб. Нам следует проверить их состояние и, при необходимости, перевести в автоматический режим запуска. Нажмите Win + R, введите services.msc и проверьте следующие службы:

    1. «Публикация ресурсов обнаружения функции» (Function Discovery Resource Publication)

    2. «Хост поставщика функции обнаружения» (Function Discovery Provider Host)

    3. «Обнаружение SSDP» (SSDP Discovery)

    4. «DNS-клиент» (DNS Client)

    5. «DHCP-клиент» (DHCP Client)

    6. «Рабочая станция» (Workstation)

    Для каждой из них убедитесь, что «Тип запуска» установлен в «Автоматически» и «Состояние» – «Работает». Если какая-либо служба остановлена, попробуйте запустить ее.

  6. Статический IP-адрес:

    Если мы получаем доступ к сетевой папке по IP-адресу, рекомендуется настроить статический IP-адрес на компьютере №1 (с общей папкой). Это гарантирует, что IP-адрес ПК №1 не изменится, предотвращая потенциальные проблемы с доступом.

  7. Клиент для сетей Microsoft:

    Убедимся, что в свойствах сетевого адаптера включен компонент «Клиент для сетей Microsoft». Это базовый компонент для работы с сетевыми ресурсами.

4. Проверка целостности системы и других конфликтов

Иногда ошибка 0x80004005 может быть следствием поврежденных системных файлов Windows или конфликтов программного обеспечения.

  1. Поврежденные системные файлы Windows:

    Мы можем проверить целостность системных файлов. Откройте командную строку от имени администратора и выполните команды:

    sfc /scannow

    Эта команда просканирует и попытается восстановить поврежденные системные файлы. Если sfc не помог, попробуйте более мощный инструмент DISM:

    DISM /Online /Cleanup-Image /RestoreHealth

    После выполнения этих команд рекомендуется перезагрузить компьютер.

  2. Лишние виртуальные сетевые адаптеры:

    Иногда конфликты могут вызывать лишние или некорректно работающие виртуальные сетевые адаптеры. Откройте «Диспетчер устройств» (нажмите Win + R, введите devmgmt.msc). В меню «Вид» выберите «Показать скрытые устройства». Проверьте раздел «Сетевые адаптеры» и удалите все адаптеры, которые имеют в названии «Microsoft 6to4» или выглядят избыточными для вашей конфигурации.

  3. Конфликты с виртуальными машинами (Hyper-V):

    Если на компьютере №1 установлены компоненты виртуализации, такие как Hyper-V, они могут вызывать конфликты с сетевыми функциями. Если вы не используете Hyper-V, попробуйте отключить его. Нажмите Win + R, введите optionalfeatures, найдите «Hyper-V» и снимите флажок с его компонентов. Перезагрузите компьютер.

5. Альтернативные подходы к работе с базой 1С

Если после выполнения всех вышеперечисленных шагов проблема остается, или вы ищете более надежные и безопасные способы организации доступа к базе 1С, рассмотрим альтернативные варианты.

  1. Настройка парольного доступа:

    Мы уже упоминали о создании пользователя с паролем, но хотим особо подчеркнуть, что это критически важно для безопасности. Отключение парольной защиты при доступе к общим папкам (гостевой доступ) является уязвимостью. Если вы столкнулись с проблемой 0x80004005 при отключенной парольной защите, рекомендуем сначала включить ее и настроить доступ для конкретного пользователя с паролем на обоих ПК.

    Для этого в «Изменение параметров общего доступа» (можно найти через поиск Windows) включите «Доступ с парольной защитой». Затем на ПК №1 создайте пользователя с тем же именем и паролем, что и на ПК №2, и предоставьте ему права к расшаренной папке.

  2. Публикация базы 1С на веб-сервере:

    Для конфигураций на управляемых формах (УФ) более современным и зачастую более удобным способом доступа к базе 1С является ее публикация на веб-сервере (например, IIS или Apache). Это позволяет пользователям подключаться к базе через веб-браузер или тонкий клиент 1С по HTTP/HTTPS, что обеспечивает большую гибкость, безопасность и не зависит от прямых сетевых шар Windows.

    Публикация базы 1С предполагает установку и настройку веб-сервера, а затем использование встроенных средств 1С для публикации информационной базы. Это более сложный процесс, но он решает множество проблем, связанных с файловым доступом и сетевыми правами Windows.

Мы рассмотрели множество возможных причин и решений для ошибки 0x80004005. Начните с самых простых шагов, таких как проверка прав доступа и пинга, и постепенно переходите к более сложным настройкам сетевых служб и групповых политик. В большинстве случаев проблема кроется в одном из этих аспектов.

← На главную