Сколько лицензий 1С занято и откуда они взяты: проверка на клиенте, сервере и ключе
Содержание
Быстрее всего посмотреть, какую лицензию получил конкретный пользователь, — в самой программе: меню Справка → О программе. Там видно, лицензия программная или с ключа HASP, и откуда она получена. Чтобы проверить все активные лицензии 1С сразу, нужен уровень выше: консоль администрирования сервера (или rac) для клиент-серверной базы, монитор HASP для сетевого ключа и каталог licenses для программных лицензий.
Всё ниже относится к платформе 1С:Предприятие 8.3 и не зависит от конфигурации: Бухгалтерия, ЗУП и УТ получают лицензии одинаково, это делает платформа, а не прикладное решение.
С чего начать: тип лицензии и режим работы базы
Способ проверки зависит от двух вещей: чем защищена 1С и как работает база. Определите это до того, как что-то смотреть.
| Ситуация | Где смотреть занятые лицензии |
|---|---|
| Программные лицензии, файловая база | О программе на каждом рабочем месте, файлы в каталоге licenses |
| Программные лицензии, сервер 1С | Консоль администрирования кластера, rac session list --licenses |
| Сетевой ключ HASP | Монитор менеджера лицензий HASP, О программе |
| Серверная лицензия (программная или ключ) | Консоль кластера, узел рабочих процессов |
| Набор лицензий на компьютере | Утилита ring license, каталог licenses |
Пара правил учёта, без которых цифры не сходятся:
- 🖥️ клиентская лицензия считается на компьютер, а не на окно: два сеанса одного пользователя на одном ПК занимают одну лицензию;
- 🧑💻 на терминальном сервере каждый терминальный сеанс расходует отдельную клиентскую лицензию;
- ⚙️ серверная лицензия — отдельная сущность, она разрешает работу самого сервера 1С и в счёт пользователей не идёт.
Проверка лицензии в окне «О программе» и в Конфигураторе
Это способ для одного рабочего места. Он отвечает на вопрос «что получил именно этот пользователь».
В режиме 1С:Предприятие
- Откройте базу.
- Нажмите кнопку главного меню (значок с полосками в заголовке окна).
- Выберите
Справка → О программе. - Найдите блок со сведениями о лицензии.
В окне указано, какой вид лицензии получен: программная или аппаратная (ключ защиты). Для программной видно, где лежит файл, для ключа — локальный он или сетевой. Если в клиент-серверном режиме лицензию выдал сервер, это тоже отражено.
В Конфигураторе
В Конфигураторе то же окно открывается через Справка → О программе. Сведения о лицензии там те же. Конфигуратор тоже расходует клиентскую лицензию, это стоит помнить, когда лицензий впритык.
Кто сейчас в базе
Окно «О программе» показывает только своё рабочее место. Список всех, кто открыл базу, даёт:
- в Конфигураторе —
Администрирование → Активные пользователи; - в типовых конфигурациях на БСП —
Администрирование → Обслуживание, ссылка «Активные пользователи».
Список пользователей — ещё не число лицензий. Десять сеансов с трёх компьютеров занимают три клиентские лицензии, а не десять. Для точного счёта группируйте список по колонке с именем компьютера.
В файловой базе сервера лицензий нет. Каждое рабочее место берёт лицензию само: из своего каталога licenses или с сетевого ключа. Поэтому общую картину в файловом режиме собирают по компьютерам или по монитору HASP.
Файлы лицензий .lic и файлы настроек .pfl: что где лежит
Здесь часто путаются. Программная лицензия 1С 8.3 — это файл с расширением .lic. Файлы .pfl к лицензированию отношения не имеют.
Где хранятся файлы .lic
| Система | Каталог |
|---|---|
| Windows, для всех пользователей | C:\ProgramData\1C\licenses |
| Windows, для одного пользователя | %APPDATA%\1C\licenses |
| Linux, для всех пользователей | /var/1C/licenses |
При активации мастер предлагает выбрать, куда сохранить лицензию: для всех пользователей компьютера или только для текущего. Если лицензия «есть, но не видна» под другим пользователем Windows, проверьте, не легла ли она в профиль.
Один файл .lic соответствует одному активированному пин-коду. Количество файлов подсказывает, сколько комплектов активировано на этом компьютере, но не сколько мест в каждом. Комплект на 5 пользователей — это один файл, а не пять.
Содержимое .lic руками не читают и не правят. Любое изменение делает файл недействительным, и лицензия пропадает.
Что такое .pfl
Файлы 1cv8cmn.pfl, 1cv8strt.pfl и подобные лежат в профиле пользователя, в каталоге %APPDATA%\1C\1Cv8. В них платформа хранит настройки: список баз, параметры окна запуска, пользовательские настройки клиента. Ограничений по лицензиям в них нет.
Удаление .pfl сбрасывает настройки, но число лицензий не меняет. Если после чистки профиля пропал список баз — это и есть эффект от удаления 1cv8strt.pfl и соседних файлов, а не «слетевшая лицензия».
Сведения о лицензии через утилиту ring
С платформой поставляется отдельный дистрибутив «Утилита администрирования лицензий» (ring, нужна Java). Она показывает активированные лицензии на компьютере:
ring license list
Команда выводит имена лицензий из стандартного хранилища. Подробности по одной лицензии — регистрационный номер, состав комплекта, привязку к оборудованию — даёт ring license info с именем лицензии. Точный набор параметров для вашей версии утилиты смотрите в справке:
ring license help
Это удобный способ проверить сервер Linux без графического интерфейса и понять, какие пин-коды там активированы.
Активные лицензии сервера 1С в консоли администрирования
Для клиент-серверной базы самый полный ответ даёт кластер. Сервер 1С видит все сеансы и знает, какую лицензию взял каждый.
Где смотреть в консоли
- Запустите «Администрирование серверов 1С Предприятия».
- Разверните
Central 1C:Enterprise 8.3 Servers → имя сервера → Кластеры → ваш кластер. - Откройте узел
Сеансы. Здесь все подключения ко всем базам кластера. - Откройте свойства нужного сеанса: в них есть сведения о полученной лицензии.
Серверную лицензию ищите в узле Рабочие процессы: у рабочего процесса есть вложенный список лицензий, которые он получил. Если там пусто, а сервер работает, проверьте, не идёт ли работа на ключе или в учебном режиме.
Консоль подключается к агенту сервера (порт 1540 по умолчанию). Если консоль на другом компьютере, этот порт должен быть открыт.
Если консоль не открывается и пишет про отсутствие оснастки, на этом компьютере не зарегистрирована библиотека radmin.dll. Её регистрируют от имени администратора командой regsvr32 с полным путём к файлу из каталога bin установленной версии платформы. Версия консоли должна совпадать с версией сервера.
Через rac из командной строки
Утилита rac работает через сервер администрирования ras. Запустите ras (как службу или вручную), по умолчанию он слушает порт 1545.
Сначала получите идентификатор кластера:
rac localhost:1545 cluster list
Потом выведите сеансы со сведениями о лицензиях:
rac localhost:1545 session list --cluster=<uuid-кластера> --licenses
По каждому сеансу будет блок полей: пользователь, компьютер, тип лицензии (программная или ключ), её серия и то, выдана ли она сервером. Если на кластере задан администратор, добавьте --cluster-user и --cluster-pwd.
Сетевые и локальные ключи HASP: как увидеть занятые места
Если 1С защищена аппаратным ключом, лицензии считает не 1С, а менеджер лицензий HASP.
Как прочитать маркировку ключа
На корпусе ключа нанесена маркировка. По ней видно, на сколько пользователей он рассчитан:
- 🔑
ORGL8— однопользовательский локальный ключ, работает только на компьютере, куда вставлен; - 🌐
NET5,NET10,NET20и так далее — сетевой ключ на указанное число одновременных пользователей; - 🗄️ серверные ключи имеют собственную маркировку и пользователей не считают.
Монитор менеджера лицензий
Сетевой ключ раздаёт лицензии через службу HASP License Manager. Она работает на том компьютере, куда вставлен ключ, и отвечает по UDP-порту 475.
Посмотреть занятые места помогает утилита Aladdin Monitor. Запустите её на любом компьютере сети, найдите сервер с ключом и раскройте его. Монитор покажет ключ, максимальное число лицензий и список компьютеров, которые их сейчас держат.
Для установленного драйвера ключей есть ещё веб-панель Sentinel Admin Control Center: откройте в браузере http://localhost:1947. Там видно, распознан ли ключ системой. Это первое, что проверяют, когда 1С «не видит ключ».
Подсказка клиенту: где искать ключ
Если клиент ищет сетевой ключ широковещательным запросом и не находит его, адрес сервера прописывают явно. Для этого в каталоге conf платформы (например, C:\Program Files\1cv8\conf) создают файл nethasp.ini:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
Вместо 192.168.1.10 укажите адрес компьютера с ключом. Перезапустите 1С на клиенте.
Скрипты для регулярной проверки лицензий
Когда компьютеров десятки, руками в «О программе» не наездишься. Два простых скрипта закрывают большую часть задач.
Сколько комплектов активировано на компьютере (PowerShell)
$paths = @("C:\ProgramData\1C\licenses", "$env:APPDATA\1C\licenses")
foreach ($p in $paths) {
if (Test-Path $p) {
$files = Get-ChildItem -Path $p -Filter *.lic
Write-Output ("{0}: файлов .lic — {1}" -f $p, $files.Count)
$files | Select-Object Name, LastWriteTime | Format-Table -AutoSize
} else {
Write-Output ("{0}: каталога нет" -f $p)
}
}
Скрипт показывает, сколько файлов лицензий в обоих каталогах и когда они изменялись. Дата изменения помогает заметить повторную активацию после замены железа.
Сколько сеансов держит сервер (Linux, bash)
#!/bin/bash
RAS="localhost:1545"
CLUSTER=$(rac $RAS cluster list | awk '/^cluster/{print $3; exit}')
echo "Кластер: $CLUSTER"
rac $RAS session list --cluster="$CLUSTER" --licenses > /tmp/1c_lic.txt
echo "Сеансов с лицензией: $(grep -c '^session' /tmp/1c_lic.txt)"
Файл /tmp/1c_lic.txt остаётся для разбора: в нём по каждому сеансу видно, какой тип лицензии взят. Такой скрипт можно запускать по расписанию и писать результат в журнал, чтобы видеть пики занятости в течение дня.
Сеансов с лицензией может быть больше, чем занятых клиентских лицензий: несколько сеансов с одного компьютера делят одну лицензию. Для оценки «хватает или нет» смотрите на число разных компьютеров.
Когда лицензий не хватает или 1С их не находит
Самые частые жалобы — «лицензии кончились, хотя людей мало» и «лицензия пропала». Ниже — что за ними обычно стоит.
Как освободить лицензию зависшего сеанса
Сеанс, который остался после обрыва связи, держит лицензию, пока сервер его не закроет. Завершить его можно в консоли: узел Сеансы, контекстное меню нужного сеанса, команда удаления сеанса.
Удалённый сеанс обрывается без сохранения. Если пользователь на самом деле работает, он потеряет незаписанный документ. Перед удалением уточните, кто это, или делайте это вне рабочего времени.
Рабочий процесс целиком и службу сервера 1С ради одной лицензии не перезапускают: это оборвёт сеансы всех пользователей кластера.
Частые вопросы
Можно ли узнать число лицензий по номеру пин-кода?
ring license info покажет состав комплекта. Сам пин-код до активации такой информации на компьютере не даёт, состав указан в документах комплекта.