Сколько лицензий 1С куплено и сколько занято: способы проверки
Содержание
Быстрее всего количество программных лицензий 1С видно по файлам *.lic в каталоге C:\ProgramData\1C\licenses (на Linux — /var/1C/licenses) и по выводу утилиты ring license list. Один файл — один активированный пин-код, а сколько рабочих мест он даёт, показывает ring license info.
Частое заблуждение: «сколько файлов, столько и пользователей». Это не так. Файл комплекта на 10 мест один, а мест в нём десять. Поэтому считать надо не файлы, а места внутри них, и отдельно — сколько из них занято прямо сейчас. Ниже — оба подсчёта, для файлового и клиент-серверного варианта.
Какие бывают лицензии 1С и где они физически лежат
Сначала разделите то, что считаете. У платформы 1С:Предприятие 8.3 два вида лицензий и два способа защиты.
По назначению:
- 👤 Клиентские — дают право запускать 1С на рабочих местах. Бывают на 1 место и комплектами (5, 10, 20, 50, 100, 300, 500 мест).
- 🖥️ Серверные — дают право запускать кластер серверов 1С (32- или 64-разрядный, в том числе редакции КОРП). Пользователей они не добавляют.
По способу защиты:
- 🔑 Программная лицензия — файл
.lic, который создаётся при активации пин-кода и привязан к параметрам компьютера. - 🔌 Аппаратная — USB-ключ HASP. Число мест зашито в ключ, файлов нет.
Каталоги с файлами лицензий
| Где | Путь | Кому доступна лицензия |
|---|---|---|
| Windows, общий каталог | %ALLUSERSPROFILE%\1C\licenses (обычно C:\ProgramData\1C\licenses) | Всем пользователям компьютера |
| Windows, профиль пользователя | %APPDATA%\1C\licenses | Только этому пользователю Windows |
| Linux | /var/1C/licenses | Всем пользователям |
На сервере 1С смотрите оба каталога Windows. Служба агента сервера работает от своей учётной записи (часто USR1CV8), и лицензия, активированная «под ней», окажется в её профиле, а не в ProgramData.
Кто какую лицензию берёт при запуске
От этого зависит, где именно считать. Схема упрощённо такая:
- Файловая база. Клиент ищет лицензию только на своём компьютере: файл
.licв каталогах выше или HASP-ключ (локальный либо сетевой). Лицензии, лежащие на другом компьютере, ему недоступны. - Клиент-серверная база . Клиент сначала ищет лицензию у себя. Если не нашёл — запрашивает её у сервера 1С, и тогда место берётся из файлов на сервере.
- Флажок в параметрах базы. В окне запуска, в свойствах информационной базы, можно включить получение клиентской лицензии с сервера. Тогда локальные лицензии клиента не используются вовсе, а все места считаются на сервере.
Отсюда практическое правило. Для файловых баз считайте лицензии на каждом рабочем месте отдельно. Для клиент-серверных — на сервере плюс на тех клиентах, где лицензии активированы локально. Смешанная схема встречается часто: несколько старых однопользовательских лицензий на рабочих станциях и комплект на сервере.
Имя файла длинное и малоинформативное: по нему не понять, на сколько мест лицензия. Для этого нужна утилита из следующих разделов.
Подсчёт лицензий в консоли администрирования кластера
Если база работает в клиент-серверном варианте, консоль администрирования серверов 1С показывает, какие лицензии сейчас выданы сеансам. Это ответ на вопрос «сколько занято», а заодно — «на сколько мест рассчитан каждый комплект».
Порядок действий:
- Запустите «Администрирование серверов 1С Предприятия» на сервере или на машине администратора.
- Раскройте
Central 1C:Enterprise 8.3 servers→ ваш сервер →Кластеры→ нужный кластер. - Выделите узел
Сеансы. - В контекстном меню узла переключите вид на
Лицензии. Вместо обычного списка сеансов появятся колонки с данными о лицензии каждого сеанса. - Отсортируйте по колонке с описанием лицензии. Сеансы одного комплекта соберутся вместе.
Что даёт этот вид:
- 📌 тип лицензии — программная или HASP;
- 📌 откуда она взята — с клиентского компьютера или выдана сервером;
- 📌 сколько мест в комплекте, из которого выдана лицензия;
- 📌 какой компьютер и пользователь её держат.
Тот же переключатель вида есть у узла Рабочие процессы. Там видно, какие лицензии получил каждый рабочий процесс — полезно, когда клиентские лицензии лежат на сервере и раздаются оттуда.
Консоль показывает только занятые лицензии. Комплект, из которого сейчас никто не взял ни одного места, в списке не появится. Полный перечень купленного — только по файлам или через ring.
Если консоль не открывается
Чаще всего ломается регистрация оснастки после обновления платформы. Лечится перерегистрацией библиотеки из каталога bin установленной версии, от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Номер версии в пути замените на свой. Для 32-разрядной платформы каталог — C:\Program Files (x86)\1cv8\....
HASP-ключи: как посчитать аппаратные лицензии на сервере
Аппаратные ключи считают отдельно: файлов .lic у них нет.
- Откройте в браузере на компьютере с ключом адрес
http://localhost:1947. Это веб-интерфейс менеджера лицензий Sentinel (Admin Control Center). - В разделе со списком ключей проверьте, что ключ виден и на какой машине он воткнут.
- В разделе сеансов посмотрите, какие компьютеры сейчас держат сетевые места ключа.
Число мест сетевого ключа указано в документации комплекта и в маркировке ключа. Сопоставьте его с тем, что видите в консоли кластера.
Локальный однопользовательский ключ работает только на той машине, куда воткнут. Сетевой ключ раздаёт места по сети через менеджер лицензий — для этого служба менеджера должна быть запущена, а порт 1947 открыт в брандмауэре.
Если в организации есть и ключи, и программные лицензии, итог складывайте: места HASP + места из всех файлов .lic, доступных клиентам.
Утилита ring: точное число мест в каждом файле
Главный инструмент для подсчёта программных лицензий — утилита ring с модулем license из пакета «1С:Предприятие. Утилита администрирования лицензий» (1C:Enterprise License Tools). Ставится отдельно от платформы и требует установленной Java.
Список лицензий на компьютере
ring license list
Утилита выведет имена всех лицензий, найденных в стандартных каталогах. Если файлы лежат в другом месте, укажите каталог явно:
ring license list --path "D:\Backup\licenses"
Состав каждой лицензии
Для каждой строки из списка выполните:
ring license info --name <имя лицензии из вывода list>
В выводе будет описание продукта — например, клиентская лицензия на 5 рабочих мест или серверная лицензия x64. Именно отсюда берётся число мест.
Проверка, что лицензия ещё «живая»
ring license validate --name <имя лицензии>
Команда проверяет, соответствует ли файл текущему оборудованию. После замены материнской платы, диска или сетевой карты лицензия может перестать проходить проверку. Тогда физически файл есть, а мест он не даёт — и в подсчёт его включать нельзя.
Не удаляйте «лишние» файлы .lic, пока не проверили их через validate. Повторная активация расходует резервный пин-код, а их в комплекте ограниченное число.
Пример подсчёта на сервере:
Лицензия из ring license info | Мест |
|---|---|
| Серверная x64 | — (пользователей не даёт) |
| Клиентская, основная поставка ПРОФ | 1 |
| Клиентская на 10 рабочих мест | 10 |
| Клиентская на 5 рабочих мест | 5 |
| Итого клиентских | 16 |
Результат удобно свести в простой реестр: компьютер, каталог, имя лицензии из ring, тип, число мест, дата активации, номер пин-кода из конверта. Такой список пригодится при проверке правообладателя, при переезде на новый сервер и при докупке мест. Обновляйте его после каждой активации или замены оборудования — тогда пересчитывать всё заново не придётся.
Журнал регистрации и технологический журнал: история занятости
Файлы и ring отвечают на вопрос «сколько куплено». Но часто нужно другое: хватает ли этого в пиковые часы. Здесь помогают журналы.
Журнал регистрации
Сам по себе он не пишет событий «выдана лицензия». Зато фиксирует начало и окончание сеансов:
- Откройте журнал: в пользовательском режиме —
Администрирование → Обслуживание → Журнал регистрации(в типовых БП 3.0 и ЗУП 3.1), в Конфигураторе —Администрирование → Журнал регистрации. - Установите отбор по событиям «Сеанс. Начало» и «Сеанс. Завершение».
- Возьмите рабочий день с самой высокой нагрузкой — например, день сдачи отчётности.
- Посчитайте максимум одновременно открытых сеансов с разных компьютеров.
Это приблизительная оценка пиковой потребности в лицензиях. Сеансы одного пользователя с одного компьютера, как правило, занимают одну лицензию, поэтому группируйте по компьютеру, а не по числу строк.
Технологический журнал
Точнее работает технологический журнал с событием LIC — операции с лицензиями. Его включают файлом logcfg.xml в каталоге conf платформы:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\1C_techlog\lic" history="24">
<event>
<eq property="name" value="LIC"/>
</event>
<property name="all"/>
</log>
</config>
Журнал покажет каждую попытку получить лицензию
, в том числе неудачные. Параметр history задаёт, сколько часов хранить файлы.
Технологический журнал быстро растёт. Включайте его на день-два, затем удаляйте logcfg.xml или убирайте из него событие.
Командная строка и PowerShell: проверка без консоли
Занятые лицензии через rac
Утилита rac подключается к серверу администрирования ras (по умолчанию порт 1545). Если ras запущен, лицензии сеансов видны так:
rac cluster list
rac session list --cluster=<UUID кластера> --licenses
Первая команда даёт идентификатор кластера, вторая — список сеансов с данными о лицензии: тип (программная или аппаратная), описание комплекта, число мест в нём. Если кластер защищён паролем, добавьте параметры администратора — их синтаксис покажет rac help session.
Быстрый перечень файлов через PowerShell
Когда ring не установлен, хотя бы посчитайте файлы во всех каталогах сразу:
$paths = @(
"$env:ProgramData\1C\licenses",
"$env:APPDATA\1C\licenses"
)
foreach ($p in $paths) {
if (Test-Path $p) {
Get-ChildItem $p -Filter *.lic |
Select-Object FullName, Length, LastWriteTime
}
}
Скрипт покажет, где лежат файлы и когда они появились. Дата создания подсказывает, когда активировали лицензию, — удобно сверить с бухгалтерскими документами о покупке. Число мест PowerShell не покажет: для этого всё равно нужен ring license info или документы комплекта.
Запускайте скрипт от имени той учётной записи, под которой работает служба сервера 1С, иначе $env:APPDATA укажет на ваш профиль, а не на профиль службы.
Почему цифры не сходятся: разбор частых промахов
Ещё несколько ловушек, которые стоит держать в голове:
- 🔄 Серверную лицензию не путайте с клиентской. Купленный сервер x64 не даёт ни одного рабочего места.
- 🧾 Копия файла на другом компьютере не работает . Лицензия привязана к оборудованию, и копия пройдёт проверку только там, где её активировали.
- 🖥️ Терминальный сервер считает иначе. На нём каждый пользователь в своём сеансе занимает отдельную клиентскую лицензию, даже если все сидят на одной машине.
- ⏳ Фоновые задания клиентских лицензий не занимают, а вот Конфигуратор и внешнее COM-соединение — занимают.
Частые вопросы
Можно ли узнать число лицензий, не заходя на сервер?
rac с любого компьютера с доступом к ras видно занятые лицензии. Полный перечень купленного без доступа к каталогу лицензий сервера не получить.Как сложить лицензии с разных компьютеров?
.lic проверьте отдельно через ring license list и info. Клиентские лицензии на рабочей станции доступны только ей, на сервере — всем клиентам кластера.Что делать, если `ring` выдаёт ошибку при запуске?
ring находит её через переменную JAVA_HOME или PATH.Сохранится ли лицензия при переустановке Windows?
.lic. Верните их в тот же каталог и проверьте командой validate. Не прошла проверку — нужна повторная активация резервным пин-кодом.Где посмотреть лицензию, под которой работаю я сам?
Справка → О программе) выводятся сведения о лицензии текущего сеанса: тип и откуда она получена.