Сколько лицензий 1С стоит на сервере и сколько из них занято: способы проверки

· 10 мин

Содержание

Посмотреть количество лицензий 1С на сервере быстрее всего командой rac session list --licenses: для каждого сеанса она показывает тип лицензии, ключ или файл, откуда она выдана, и поля max-users-all (сколько мест всего) и max-users-cur (сколько мест в этом ключе или файле). Для аппаратного ключа HASP то же число видно в Aladdin Monitor, для программной лицензии — в утилите ring license list или в самих файлах .lic.

Какой способ выбрать, зависит от вопроса. «Сколько мест куплено» — смотрят ключ или файлы лицензий. «Сколько занято прямо сейчас и кем» — консоль кластера и rac. «Почему вчера в 10 утра не хватило мест» — технологический журнал и журнал регистрации.

Какие бывают лицензии 1С и где их искать на сервере

Прежде чем считать, разберитесь, что именно считаете. В клиент-серверной 1С живут два независимых вида лицензий.

  • 🖥️ Серверная лицензия. Разрешает запуск сервера 1С:Предприятия. Число пользователей она не ограничивает. Бывает на 32-битный сервер, на 64-битный и версии КОРП.
  • 👥 Клиентские лицензии. Именно они определяют, сколько рабочих мест одновременно работает в базе. Продаются комплектами: на 1, 5, 10, 20, 50, 100, 300, 500 мест.

Оба вида выпускаются в двух исполнениях:

ИсполнениеГде лежитКак считать
Аппаратный ключ HASP (USB)Вставлен в сервер или в отдельный компьютер с менеджером лицензийМаркировка на ключе, Aladdin Monitor, Admin Control Center
Программная лицензияФайл .lic в каталоге лицензий, привязан к оборудованиюring license list, просмотр каталога, консоль кластера

Частая путаница: администратор видит на сервере «лицензию на сервер» и думает, что пользователи тоже покрыты. Нет. Если клиентских лицензий на сервере нет, каждый пользователь ищет свою лицензию на своём компьютере или в сети.

Где сервер берёт клиентские лицензии

Клиентские лицензии сервер выдаёт сам, только если в свойствах информационной базы в консоли кластера включён параметр Разрешить выдачу лицензий сервером 1С:Предприятия. Если он выключен, клиентское приложение ищет лицензию локально или в сетевом ключе через менеджер лицензий HASP.

Поэтому «количество лицензий на сервере» — это сумма клиентских мест во всех ключах и файлах, которые видит сервер, при включённой выдаче лицензий сервером.

Как расходуются места

Одно рабочее место — один компьютер. Если пользователь открыл на своём ПК три окна тонкого клиента , он занял одну лицензию. На терминальном сервере каждый RDP-сеанс считается отдельным рабочим местом: 15 бухгалтеров в терминале займут 15 лицензий.

Аппаратный ключ HASP: как посмотреть число мест

У аппаратных ключей количество мест «зашито» в сам ключ. Есть три способа его узнать.

1. Маркировка на корпусе

На USB-ключе выбита маркировка. В ней указано назначение и число пользователей. Сетевые клиентские ключи содержат в маркировке обозначение NET с числом мест, например NET5 или NET50. Однопользовательский локальный клиентский ключ маркируется ORGL8. Серверные ключи — ENSR8 (32-битный сервер) и EN8SA (64-битный сервер).

Способ годится, если ключ под рукой. Для сервера в стойке или в дата-центре он неудобен.

2. Aladdin Monitor

Aladdin Monitor показывает ключи, которые обслуживает менеджер лицензий HASP (служба License Manager, порт 475). Порядок такой:

  1. Установите Aladdin Monitor на сервер или на любой компьютер в той же сети.
  2. Запустите программу и дождитесь, пока в дереве появится компьютер с менеджером лицензий.
  3. Раскройте узел менеджера и выберите ключ.
  4. В правой части смотрите максимальное число станций и текущее число подключений.

Так видно и ёмкость ключа, и сколько мест занято в эту минуту. Если ключ не появился, проверьте, что служба менеджера лицензий запущена и порт 475 не закрыт брандмауэром.

3. Sentinel Admin Control Center

Драйвер ключей Sentinel поднимает веб-интерфейс на порту 1947. Откройте в браузере на сервере http://localhost:1947 и перейдите на вкладку со списком ключей.

Там видно, что ключ физически определился, его тип и идентификатор. Это хорошая первая проверка, если 1С вдруг перестала находить лицензию. Число занятых мест для ключей 1С надёжнее смотреть в Aladdin Monitor или через rac.

Переустанавливать драйвер HASP на работающем сервере можно только вне рабочего времени. На время переустановки ключ пропадёт, и пользователи не смогут открыть новые сеансы.

Программные лицензии: файлы и утилита ring

Программная лицензия — это не запись в реестре Windows, а файл с расширением .lic. В реестре лицензий 1С нет, искать там бесполезно. Количество мест хранится внутри файла.

Где лежат файлы лицензий

Основные каталоги, в которых платформа ищет программные лицензии:

  • 📁 Windows: C:\ProgramData\1C\licenses
  • 📁 Linux: /var/1C/licenses

Посчитайте файлы в каталоге. Один активированный пинкод даёт один файл. Например, комплект на 10 пользователей плюс дополнительный на 5 — это два файла и 15 мест.

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

Утилита ring license

Для просмотра лицензий без запуска 1С есть консольная утилита ring с модулем license (входит в состав утилит администрирования лицензий). Две полезные команды:

ring license list
ring license info --name <имя_лицензии>

Первая выводит список активированных лицензий, вторая — подробности по одной: продукт, количество рабочих мест, данные, к которым привязана лицензия. Каталог лицензий, если он нестандартный, задают параметром --path. Полный список параметров смотрите в ring license help.

Проверка изнутри 1С

Если сервер доступен только через клиент, откройте любую базу и выберите в главном меню Справка → О программе. В окне есть сведения о лицензии, которую получил текущий сеанс, в том числе откуда она взята. Это проверка одного сеанса, а не всего сервера, но она быстро отвечает на вопрос «ключ или программная».

Консоль кластера: сколько лицензий занято прямо сейчас

Консоль администрирования серверов 1С показывает сеансы в реальном времени. Через неё видно, сколько клиентских мест реально занято и кем.

Через графическую консоль

  1. Запустите Администрирование серверов 1С Предприятия.
  2. Раскройте Центральные серверы 1С:Предприятия → <имя сервера> → Кластеры → <кластер>.
  3. Откройте узел Сеансы. В списке — все сеансы кластера: пользователь, компьютер, приложение.
  4. Откройте свойства нужного сеанса — там видно, какая лицензия ему выдана.
  5. Серверную лицензию ищите у рабочих процессов: в узле Рабочие процессы у процесса есть свои сведения о полученной лицензии.

Если консоль не запускается после обновления платформы, перерегистрируйте radmin.dll нужной версии из командной строки администратора:

regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"

Номер версии в пути подставьте свой — тот, что совпадает с версией сервера.

Через rac: самая точная картина

Утилита rac работает с сервером администрирования ras (по умолчанию порт 1545). Сначала узнайте идентификатор кластера:

rac cluster list

Затем выведите сеансы с лицензиями:

rac session list --cluster=<id_кластера> --licenses

Если на кластере задан администратор, добавьте --cluster-user=<имя> и --cluster-pwd=<пароль>.

Ключевые поля вывода:

ПолеЧто значит
user-name, hostКто и с какого компьютера занял место
license-typeHASP — аппаратный ключ, soft — программная лицензия
issued-by-serveryes — лицензию выдал сервер, no — клиент нашёл её сам
max-users-allСколько мест во всех лицензиях, доступных выдавшему
max-users-curСколько мест в конкретном ключе или файле
short-presentationКраткое описание лицензии: ключ или файл

Число занятых мест — это количество разных значений host среди сеансов с лицензией (вспомните правило «одно рабочее место — одна лицензия»). Число доступных — max-users-all.

Что вы хотите узнать?

Журналы: кто и когда занимал лицензии

Консоль показывает только текущий момент. Чтобы разобрать вчерашний сбой «нет свободной лицензии», нужны журналы.

Журнал регистрации

В журнале регистрации информационной базы фиксируются события начала и окончания сеансов: пользователь, компьютер, время. В БП 3.0 и ЗУП 3.1 он открывается через Администрирование → Обслуживание → Журнал регистрации.

Отфильтруйте события сеансов за нужный день. По ним видно пиковые часы и пользователей, которые держат сеанс открытым до ночи. Ограничение: журнал ведётся отдельно по каждой базе. Если на сервере 6 баз, а пользователь сидит в двух, то по журналам их придётся сводить вручную.

Технологический журнал

Технологический журнал ведётся для всего сервера и пишет события лицензирования — LIC. Включается он файлом logcfg.xml в каталоге conf платформы. Минимальная настройка:

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\techlog\lic" history="72">
    <event>
      <eq property="name" value="LIC"/>
    </event>
    <property name="all"/>
  </log>
</config>

history="72" — хранить 72 часа логов. Платформа подхватывает файл без перезапуска службы, обычно в течение минуты.

Не включайте технологический журнал без фильтра по событиям на рабочем сервере — без фильтра он за несколько часов займёт десятки гигабайт и замедлит работу всех пользователей. Каталог логов кладите на диск с запасом места.

Как настроить мониторинг свободных мест

Проверять лицензии вручную раз в месяц бессмысленно: нехватка случается в пиковый час. Лучше снимать данные по расписанию.

Скрипт на PowerShell для Windows-сервера

Скрипт считает уникальные компьютеры с лицензией и пишет результат в журнал:

$rac = "C:\Program Files\1cv8\8.3.24.1548\bin\rac.exe"
$cl  = (& $rac cluster list | Select-String '^cluster\s+:').Line.Split(':')[1].Trim()
$out = & $rac session list --cluster=$cl --licenses
$hosts = $out | Select-String '^host\s+:' | ForEach-Object { $_.Line.Split(':')[1].Trim() } | Sort-Object -Unique
$max = ($out | Select-String '^max-users-all\s+:' | Select-Object -First 1).Line.Split(':')[1].Trim()
"$(Get-Date -Format 'yyyy-MM-dd HH:mm') занято: $($hosts.Count) из $max" | Add-Content C:\techlog\lic-usage.log

Запускайте его Планировщиком заданий каждые 10–15 минут в рабочее время. Через неделю в файле будет картина пиковой загрузки.

Перед использованием проверьте вывод rac session list --licenses на своём сервере: если в нём нет строки max-users-all (например, ни у одного сеанса сейчас нет лицензии), скрипт выдаст пустое значение.

Скрипт для Linux

CL=$(rac cluster list | awk '/^cluster /{print $3; exit}')
OUT=$(rac session list --cluster="$CL" --licenses)
USED=$(echo "$OUT" | awk '/^host /{print $3}' | sort -u | wc -l)
MAX=$(echo "$OUT" | awk '/^max-users-all /{print $3; exit}')
echo "$(date '+%F %R') занято: $USED из $MAX" >> /var/log/1c-lic-usage.log

Повесьте его в cron, например */15 8-20 * * 1-5. Для оповещения добавьте условие: если свободно меньше 2 мест — отправлять письмо или сообщение в мессенджер вашим обычным способом.

Если на сервере работает система мониторинга (Zabbix, Prometheus), отдавайте ей то же число через пользовательский параметр. Запуск rac раз в минуту сервер почти не нагружает.

Как высвободить места без покупки

  • 🌙 Включите в базах автоматическое завершение неактивных сеансов, если такая настройка есть в вашей конфигурации, или договоритесь о выходе из 1С в конце дня.
  • 🧹 Найдите в rac «висящие» сеансы с давней датой последней активности и завершите их.
  • 🖥️ Пересадите пользователей с нескольких своих компьютеров на один: два ноутбука одного человека — это два места.

Завершение сеанса через консоль или rac session terminate обрывает работу пользователя без сохранения. Предупредите его заранее или делайте это вне рабочего времени.

Если лицензий «стало меньше», чем куплено

Иногда проверка показывает меньше мест, чем записано в документах. Типичные причины:

  • 🔌 Ключ HASP не виден серверу. После обновления Windows или переноса в другой USB-порт драйвер не определил ключ. Проверка — Admin Control Center на localhost:1947.
  • 🔧 Программная лицензия слетела после замены оборудования. Лицензия привязана к параметрам компьютера. После замены материнской платы, сетевой карты или переноса виртуальной машины на другой хост её нужно активировать заново резервным пинкодом.
  • 🚫 Выдача лицензий сервером выключена в одной из баз. Пользователи этой базы не получают места с сервера и ищут свои — и не находят.
  • 🔀 Две службы конкурируют за ключ. Менеджер лицензий HASP запущен и на сервере, и на соседнем компьютере, а ключ один. Клиенты получают места не там, где вы считаете.

Резервных пинкодов в комплекте ограниченное число. Перед заменой оборудования сервера посчитайте, сколько их осталось, иначе после очередного переноса придётся обращаться к поставщику за восстановлением.

Частые вопросы

Учитывается ли серверная лицензия в числе пользователей?
Нет. Серверная лицензия разрешает запуск сервера 1С:Предприятия. Сколько людей одновременно работают, определяют только клиентские лицензии.
Можно ли сложить аппаратный ключ и программную лицензию?
Да. Сервер выдаёт места из всех доступных ему лицензий: например, сетевой ключ на 10 мест и программная лицензия на 5 мест дают 15 одновременных пользователей.
Сколько лицензий занимает веб-клиент или тонкий клиент через интернет?
Столько же, сколько любой клиент: одно место на рабочее место пользователя. Тип клиента на расход лицензий не влияет.
Сколько лицензий займёт фоновое задание или обработка регламентных заданий?
Фоновые и регламентные задания выполняются на сервере и клиентских лицензий не занимают.
Нужна ли лицензия для консоли кластера и rac?
Нет. Утилиты администрирования сервера работают без клиентской лицензии и мест не расходуют.