Работа в режиме удаленного рабочего стола (RDP) накладывает определенную специфику на механизм лицензирования 1С:Предприятие. Часто системные администраторы сталкиваются с ситуацией, когда лицензии физически куплены и активированы, но пользователи получают сообщение об их отсутствии. Особенно остро эта проблема проявляется при использовании программных лицензий и небольших серверов (например, мини-сервера 1С). В рамках данной статьи мы подробно разберем, почему возникает эта ошибка, и проанализируем шаги, необходимые для ее устранения.
Для начала выясним причину, по которой платформа не видит свободные ключи. Первым делом при появлении окна с ошибкой необходимо нажать кнопку «Подробно». Это критически важный шаг, так как в открывшемся окне будет представлен лог поиска лицензий. Проанализируем типичное содержимое этого лога. В нем могут быть указаны конкретные пути к файлам с расширением .lic, на которые ругается система. Если в логе фигурирует фраза «Ошибка привязки программной лицензии к компьютеру», значит, изменились технические характеристики сервера. Если же указано, что «Превышено число одновременно используемых пин-кодов», проблема кроется в распределении существующих лицензий.
Рассмотрим основные факторы, провоцирующие проблему:
SplWOW64.exe).Одной из скрытых причин удержания лицензии является процесс SplWOW64.exe. Этот процесс отвечает за поддержку 32-битных подсистем печати в 64-битных операционных системах Windows. Когда пользователь закрывает 1С, процесс печати может оставаться активным еще некоторое время (по умолчанию — 120 секунд). Пока он активен, система считает, что сеанс не завершен, и лицензия остается занятой. Проанализируем, как можно сократить это время ожидания.
Для исправления ситуации выполним следующие действия в реестре Windows:
regedit).HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print.SplWOW64TimeOutSeconds.0 или 1. Это заставит систему завершать процесс немедленно после выполнения задания печати.После внесения изменений желательно перезагрузить сервер печати или весь сервер RDP. Это позволит оперативно освобождать лицензии сразу после закрытия пользователем программы 1С.
Разберем по шагам важный нюанс взаимодействия программных лицензий и сервера 1С. В настройках каждой информационной базы существует параметр «Разрешить выдачу лицензий сервером 1С:Предприятия». Посмотрим, как это влияет на потребление ключей:
Для экономии лицензий в среде RDP мы рекомендуем отключить выдачу лицензий сервером для всех баз. Это позволит пользователям работать в нескольких базах одновременно, тратя при этом всего одну лицензию на человека.
Иногда система поиска лицензий «запинается» о старые или неактуальные файлы. Рассмотрим, как навести порядок в директории с лицензиями. Программные лицензии обычно хранятся по пути C:\ProgramData\1C\licenses.
Проанализируем содержимое этой папки. Если мы видим файлы с расширением .lic.back или файлы, относящиеся к старым активациям (которые уже не работают из-за смены оборудования), их необходимо перенести в архивную папку вне каталога 1С. Большое количество файлов заставляет платформу тратить время на их перебор, что может приводить к таймаутам и ошибке «Нет свободной лицензии».
Также важно убедиться, что у службы, под которой запущен сервер 1С (обычно USR1CV8), и у группы «Пользователи» есть полные права на чтение этой папки. Дополнительно добавим папку C:\ProgramData\1C\licenses в исключения антивируса, чтобы исключить блокировку файлов во время их проверки сканером.
В теме упоминался интересный способ «оживления» лицензий через Конфигуратор. Выясним причину, почему это помогает. Когда мы заходим в Конфигуратор и выбираем «Сервис» — «Получение лицензии», а затем нажимаем «Отмена», платформа инициирует процедуру ресканирования доступных ключей и обновления своего внутреннего кэша в оперативной памяти.
Это временное решение, которое помогает без перезагрузки всей службы сервера 1С заставить систему «увидеть» освободившиеся или новые лицензии. Если этот метод помогает, значит, проблема действительно кроется в механизме кэширования или в том, что файлы лицензий блокируются другими процессами.
Если сервер 1С развернут на виртуальной машине, программные лицензии крайне чувствительны к изменению параметров виртуального железа. Рассмотрим основные моменты, которые могут привести к слету привязки:
При возникновении ошибки привязки единственным верным решением будет повторная активация лицензии с использованием резервного пин-кода. Перед этим обязательно проверьте, зафиксированы ли все параметры оборудования.
Для окончательного устранения ошибки «Нет свободной лицензии» на RDP-сервере, мы рекомендуем выполнить комплексную настройку:
SplWOW64TimeOutSeconds в значение 1 в реестре.C:\ProgramData\1C\licenses от неактуальных файлов.Соблюдение этих правил обеспечит стабильную работу системы лицензирования и исключит внезапные отказы в доступе для пользователей терминального сервера.