Остановка HASP License Manager и перевод рабочих мест 1С на другие лицензии

· 9 мин

Содержание

Чтобы отключить сервер лицензирования 1С на аппаратных ключах, остановите службу HASP Loader (процесс hasplms.exe) в оснастке services.msc и переведите её тип запуска в «Отключена». В Linux то же делают командой systemctl stop и systemctl disable для службы менеджера лицензий. После этого клиенты 1С, которые брали лицензию по сети, перестанут её получать — заранее дайте им другой источник лицензий.

Под «сервером лицензирования» в 1С обычно понимают именно HASP License Manager — программу, которая раздаёт по сети лицензии с сетевого USB-ключа. Отключение затрагивает всех пользователей, работающих от этого ключа, поэтому порядок действий важнее самих команд.

Когда сервер лицензирования действительно пора выключать

Остановка менеджера лицензий — не рядовая операция. Обычно её делают в одной из ситуаций:

  • 🔄 Переход на программные лицензии. Пинкоды активированы, файлы лицензий лежат на рабочих местах или на сервере 1С, сетевой ключ больше не нужен.
  • 🖥️ Перенос ключа на другой компьютер. Старый сервер выводят из работы, ключ и менеджер переезжают на новый.
  • 🧹 Конфликт двух менеджеров. В сети случайно запущены два HASP License Manager, и клиенты получают лицензии непредсказуемо.
  • 🔧 Обслуживание. Обновление драйвера ключа, замена USB-концентратора, перезагрузка сервера по регламенту.
  • 🗑️ Списание. Ключ сдан или больше не используется, а служба продолжает висеть в автозагрузке и держать порт.

Если менеджер просто «глючит», выключать его насовсем не нужно. Хватит перезапуска службы — об этом ниже, в разделе диагностики.

Что проверить до остановки

Перед отключением ответьте себе на три вопроса:

  1. Кто сейчас работает от ключа? Утилита Aladdin Monitor (HASP Monitor) показывает, сколько лицензий занято и с каких адресов.
  2. Откуда пользователи будут брать лицензии после? Программная лицензия, локальный ключ, другой сервер с менеджером.
  3. Когда это сделать? Только вне рабочего времени или после объявления пользователям.

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

Как остановить службу лицензирования 1С в Windows

В Windows менеджер лицензий работает как служба с отображаемым именем HASP Loader. Исполняемый файл — hasplms.exe.

Через оснастку «Службы»

  1. Нажмите Win+R, введите services.msc и нажмите Enter.
  2. Найдите в списке службу HASP Loader.
  3. Откройте её свойства двойным щелчком.
  4. Нажмите «Остановить» и дождитесь, когда состояние сменится на «Остановлена».
  5. В поле «Тип запуска» выберите «Отключена», если менеджер не должен подниматься после перезагрузки.
  6. Нажмите «ОК».

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

Через командную строку

Откройте командную строку от имени администратора:

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С. Тогда в консоли кластера проверьте назначение требований функциональности: объект требования «Клиентская лицензия» определяет, какой рабочий сервер выдаёт лицензии клиентам.

Порядок переключения без простоя

Переключение рабочих мест с сетевого ключа
Выполнено: 0 / 6

Если ключ переезжает на другой компьютер

Порядок при переносе такой:

  1. Установите на новом компьютере драйвер ключа и HASP License Manager.
  2. Остановите и отключите HASP Loader на старом компьютере.
  3. Переставьте ключ в USB-порт нового компьютера.
  4. Убедитесь, что служба HASP Loader на новом компьютере запущена, а порт 475 открыт в брандмауэре.
  5. Поменяйте адрес в 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.

Скрипты остановки ставьте в планировщик только вместе со скриптом запуска. Иначе после ночного окна утром всё предприятие останется без лицензий.

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

Сломается ли ключ, если остановить HASP License Manager?
Нет. Ключ хранит лицензии внутри себя, служба только раздаёт их по сети. После запуска службы всё вернётся.
Можно ли отключить сервер лицензирования, если в сети остались пользователи на сетевом ключе?
Можно, но они сразу потеряют лицензию. Сначала переведите их на другой источник лицензий или дождитесь их выхода из программы.
Нужно ли перезагружать компьютер после отключения службы?
Нет. Служба останавливается сразу, перезагрузка нужна только если вы удаляли драйвер ключа.
Как понять, что лицензию клиенту сейчас выдаёт именно этот менеджер?
Откройте Aladdin Monitor: он показывает менеджеры в сети, ключи и адреса, занявшие лицензии.
Мешает ли выключенный менеджер работе локального ключа?
Нет. Локальный ключ в USB-порту рабочего места обслуживает драйвер, сетевой менеджер для него не нужен.