Остановка HASP License Manager и перевод рабочих мест 1С на другие лицензии
Содержание
Чтобы отключить сервер
лицензирования 1С на аппаратных ключах, остановите службу HASP Loader (процесс hasplms.exe) в оснастке services.msc и переведите её тип запуска в «Отключена». В Linux то же делают командой systemctl stop и systemctl disable для службы менеджера лицензий. После этого клиенты 1С, которые брали лицензию по сети, перестанут её получать — заранее дайте им другой источник лицензий.
Под «сервером лицензирования» в 1С обычно понимают именно HASP License Manager — программу, которая раздаёт по сети лицензии с сетевого USB-ключа. Отключение затрагивает всех пользователей, работающих от этого ключа, поэтому порядок действий важнее самих команд.
Когда сервер лицензирования действительно пора выключать
Остановка менеджера лицензий — не рядовая операция. Обычно её делают в одной из ситуаций:
- 🔄 Переход на программные лицензии. Пинкоды активированы, файлы лицензий лежат на рабочих местах или на сервере 1С, сетевой ключ больше не нужен.
- 🖥️ Перенос ключа на другой компьютер. Старый сервер выводят из работы, ключ и менеджер переезжают на новый.
- 🧹 Конфликт двух менеджеров. В сети случайно запущены два HASP License Manager, и клиенты получают лицензии непредсказуемо.
- 🔧 Обслуживание. Обновление драйвера ключа, замена USB-концентратора, перезагрузка сервера по регламенту.
- 🗑️ Списание. Ключ сдан или больше не используется, а служба продолжает висеть в автозагрузке и держать порт.
Если менеджер просто «глючит», выключать его насовсем не нужно. Хватит перезапуска службы — об этом ниже, в разделе диагностики.
Что проверить до остановки
Перед отключением ответьте себе на три вопроса:
- Кто сейчас работает от ключа? Утилита Aladdin Monitor (HASP Monitor) показывает, сколько лицензий занято и с каких адресов.
- Откуда пользователи будут брать лицензии после? Программная лицензия, локальный ключ, другой сервер с менеджером.
- Когда это сделать? Только вне рабочего времени или после объявления пользователям.
Пользователи, которые получили лицензию с сетевого ключа, потеряют её сразу после остановки службы. Программа сообщит об отсутствии лицензии, и работу в 1С придётся прервать. Несохранённые данные в открытых формах пропадут. Предупредите людей и дождитесь, пока они выйдут из программы.
Как остановить службу лицензирования 1С в Windows
В Windows менеджер лицензий работает как служба с отображаемым именем HASP Loader. Исполняемый файл — hasplms.exe.
Через оснастку «Службы»
- Нажмите
Win+R, введитеservices.mscи нажмите Enter. - Найдите в списке службу
HASP Loader. - Откройте её свойства двойным щелчком.
- Нажмите «Остановить» и дождитесь, когда состояние сменится на «Остановлена».
- В поле «Тип запуска» выберите «Отключена», если менеджер не должен подниматься после перезагрузки.
- Нажмите «ОК».
Если вы только переносите ключ на другую машину, тип запуска можно не трогать: служба будет стартовать вхолостую, но лучше всё же её отключить, чтобы не плодить лишний менеджер в сети.
Через командную строку
Откройте командную строку от имени администратора:
sc query "HASP Loader"
sc stop "HASP Loader"
sc config "HASP Loader" start= disabled
Пробел после start= обязателен — без него sc выдаст ошибку синтаксиса.
Вернуть всё обратно:
sc config "HASP Loader" start= auto
sc start "HASP Loader"
Полное удаление менеджера
Если ключ больше не будет использоваться на этом компьютере, менеджер можно удалить. Самый безопасный путь — через «Приложения» или «Программы и компоненты»: найдите в списке HASP License Manager и удалите его.
💡 Драйвер самого ключа (Sentinel HASP / Sentinel LDK Runtime) — отдельный компонент. Если на этом компьютере остаётся локальный ключ, драйвер не удаляйте: без него 1С не увидит ключ даже в USB-порту.
Отключение менеджера лицензий на сервере Linux
В Linux для ключей 1С обычно ставят пакет haspd, который включает драйвер и сетевой менеджер лицензий. Имя службы зависит от дистрибутива и способа установки, поэтому сначала его уточните:
systemctl list-units --type=service --all | grep -i -E "hasp|aksusb"
Типичные варианты — haspd и aksusbd. Дальше всё стандартно для systemd:
sudo systemctl stop haspd
sudo systemctl disable haspd
systemctl status haspd
Проверьте, что порт менеджера освободился. HASP License Manager слушает порт 475:
sudo ss -tulnp | grep 475
Пустой вывод значит, что менеджер больше не принимает запросы.
Нюанс со службой драйвера
Если на этом же сервере крутится 1С и использует локальный (не сетевой) ключ, драйвер aksusbd должен остаться в работе. Отключайте только тот компонент, который раздаёт лицензии по сети. Если сомневаетесь, какой из них за что отвечает, остановите службу, запустите 1С на этом сервере и проверьте, видит ли она лицензию.
На сервере с кластером 1С остановка драйвера ключа приведёт к тому, что новые сеансы не смогут получить лицензию. Работающие сеансы, взявшие лицензию сервера с этого ключа, тоже её потеряют. Делайте это в окно обслуживания.
Сравнение способов отключения
| Способ | Когда подходит | Риски |
|---|---|---|
| Остановка службы | Обслуживание, временный перерыв | После перезагрузки служба снова запустится |
| Остановка + тип запуска «Отключена» | Ключ переезжает, менеджер здесь больше не нужен | Можно забыть, что служба выключена, и долго искать причину ошибки |
| Удаление HASP License Manager | Ключ списан или окончательно ушёл с компьютера | Случайно удалить драйвер локального ключа |
| Отключение на клиентах (без остановки сервера) | Нужно отрезать от сетевых лицензий одну группу рабочих мест | Остальные продолжают работать от ключа — это плюс, а не риск |
Как перенастроить клиенты 1С после выключения сервера
Сам сервер выключить мало. Клиенты 1С продолжают искать менеджер лицензий в сети, и это даёт две проблемы: задержку при запуске программы и ошибку, если другой лицензии нет.
Файл nhsrv.ini
На клиентах, где адрес менеджера прописан вручную, есть файл nhsrv.ini. В 1С 8.3 он лежит в папке conf внутри каталога установленной платформы, например C:\Program Files\1cv8\<версия>\bin\conf\nhsrv.ini.
Типичное содержимое:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.10
NH_USE_BROADCAST = Disabled
Что с ним делать после отключения сервера:
- ❌ Менеджер больше не нужен совсем — переименуйте файл, например в
nhsrv.ini.old. Тогда клиент не будет стучаться на несуществующий адрес. - 🔁 Менеджер переехал — замените IP в
NH_SERVER_ADDRна адрес нового компьютера. - 🧩 Несколько менеджеров — перечислите адреса через запятую в том же параметре.
💡 nhsrv.ini лежит в папке конкретной версии платформы. После обновления платформы файл нужно скопировать в каталог новой версии — частая причина «вчера работало, сегодня нет».
Программная лицензия вместо ключа
Если сервер отключают ради перехода на программные лицензии, проверьте активацию до остановки службы. Файлы программных лицензий (*.lic) по умолчанию хранятся в C:\ProgramData\1C\licenses. Если файл есть и активирован на этот компьютер, 1С запустится и без сетевого ключа.
При клиент-серверной работе лицензию можно получать на сервере 1С. Тогда в консоли кластера проверьте назначение требований функциональности: объект требования «Клиентская лицензия» определяет, какой рабочий сервер выдаёт лицензии клиентам.
Порядок переключения без простоя
Если ключ переезжает на другой компьютер
Порядок при переносе такой:
- Установите на новом компьютере драйвер ключа и HASP License Manager.
- Остановите и отключите
HASP Loaderна старом компьютере. - Переставьте ключ в USB-порт нового компьютера.
- Убедитесь, что служба
HASP Loaderна новом компьютере запущена, а порт 475 открыт в брандмауэре. - Поменяйте адрес в
nhsrv.iniна клиентах, где он прописан вручную.
Если клиенты находили менеджер широковещательным запросом, без nhsrv.ini, они найдут новый сервер сами — при условии, что он в той же подсети. В другой подсети широковещательный поиск не сработает, адрес придётся указать явно.
Отрезать от ключа только часть рабочих мест
Бывает, что сервер выключать не нужно, а нужно, чтобы конкретные компьютеры перестали занимать сетевые лицензии. Например, бухгалтерия перешла на программные лицензии, а склад ещё работает от ключа.
В этом случае менеджер не трогайте. На нужных клиентах уберите nhsrv.ini и проверьте, что у них есть своя лицензия. Сетевые лицензии освободятся для остальных.
Почему клиенты не видят лицензию и что проверить
После отключения или переноса менеджера чаще всего видят ошибку Не обнаружена лицензия для использования программы. Причины удобно разбирать по симптомам.
Быстрая проверка связи
С клиента проверьте, отвечает ли компьютер с ключом по нужному порту:
Test-NetConnection 192.168.0.10 -Port 475
TcpTestSucceeded : True значит, что порт открыт и служба отвечает. False — служба остановлена или порт закрыт брандмауэром. Помните, что HASP использует и UDP, а эта команда проверяет только TCP.
Перезапуск вместо отключения
Когда менеджер работает, но раздаёт лицензии с перебоями, помогает обычный перезапуск:
sc stop "HASP Loader"
sc start "HASP Loader"
Перезапуск тоже обрывает выданные лицензии, поэтому делайте его, когда в 1С никто не работает.
Скрипты для автоматического отключения и включения
Если менеджер останавливают регулярно — например, на время ночного обслуживания сервера, — удобно держать готовые скрипты.
Windows: bat-файл с проверкой
@echo off
set SVC=HASP Loader
sc query "%SVC%" | find "RUNNING" >nul
if errorlevel 1 (
echo Служба %SVC% уже остановлена
goto :eof
)
sc stop "%SVC%"
timeout /t 10 /nobreak >nul
sc query "%SVC%" | find "STOPPED" >nul && echo Служба остановлена || echo Не удалось остановить службу
Запускайте от имени администратора. Для обратного действия замените sc stop на sc start, а STOPPED на RUNNING.
Windows: PowerShell
$svc = 'HASP Loader'
Stop-Service -Name $svc -Force
Set-Service -Name $svc -StartupType Disabled
Get-Service -Name $svc | Select-Object Name, Status, StartType
Stop-Service и Set-Service принимают как короткое имя службы, так и отображаемое. Если команда не находит службу, посмотрите точное имя через Get-Service *hasp*.
Linux: остановка и проверка порта
#!/bin/bash
SVC=haspd
sudo systemctl stop "$SVC"
sleep 5
if systemctl is-active --quiet "$SVC"; then
echo "Служба $SVC всё ещё работает"
exit 1
fi
if sudo ss -tuln | grep -q ':475 '; then
echo "Порт 475 занят другим процессом"
exit 1
fi
echo "Менеджер лицензий остановлен"
Массовая правка nhsrv.ini на клиентах
Если клиентов много, переименование файла удобно раздать через групповую политику или логон-скрипт:
for /d %%D in ("C:\Program Files\1cv8\8.3.*") do (
if exist "%%D\bin\conf\nhsrv.ini" ren "%%D\bin\conf\nhsrv.ini" nhsrv.ini.old
)
Скрипт проходит по всем установленным версиям платформы и переименовывает файл в каждой из них. Для 32-разрядной платформы на 64-разрядной Windows путь будет C:\Program Files (x86)\1cv8.
Скрипты остановки ставьте в планировщик только вместе со скриптом запуска. Иначе после ночного окна утром всё предприятие останется без лицензий.