Skip to Content
Запись до 7 мая · Защиты ВКР: 23 и 30 мая 2026
Частые ошибки при настройке лицензий

Частые ошибки при настройке лицензий NX

Это дополнение к основному руководству Устранение ошибок лицензирования NX. Главной задачей был сам License Error [-1], но по пути собралась целая коллекция сопутствующих граблей. Почти все они связаны не с NX, а с особенностями Windows, антивирусов и PowerShell.


1. Ошибки PowerShell при работе со скриптами

MissingEndCurlyBrace — обрезанный код

В консоли PowerShell вылезает красная строка:

Отсутствует закрывающий знак "}" в блоке операторов или определении типа

Причина прозаическая: мессенджер (VK или Telegram), через который пересылался текст скрипта, обрезал сообщение по лимиту символов. В Блокнот вставлялась только верхняя половина кода, скрипт обрывался на полуслове, и парсер PowerShell естественным образом ругался на отсутствие закрывающей скобки.

Решение: передавать скрипт готовым файлом .ps1, а не текстом в чате.


PSSecurityException — защита от запуска скриптов

Файл не имеет цифровой подписи. Невозможно выполнить сценарий в указанной системе.

Срабатывает встроенная политика безопасности Windows ExecutionPolicy, которая по умолчанию запрещает запуск любых пользовательских .ps1, скачанных из интернета.

Решение: выполнить следующую команду перед запуском файла:

Set-ExecutionPolicy Bypass -Scope Process -Force

Флаг -Scope Process ограничивает действие политики текущим сеансом, так что глобально безопасность системы не страдает.


TerminatorExpectedAtEndOfString — проблемы с кодировкой

В консоли появляется сообщение и куча нечитаемых символов:

В строке отсутствует завершающий символ: ' ўРћР'Рћ! РћР'РЇР—...

Стандартный Блокнот сохранил файл с русскими буквами в UTF-8, а PowerShell прочитал его в старой ANSI. Русские буквы сломали синтаксис.

Решение: перевести текст скрипта полностью на английский, чтобы исключить конфликт кодировок. Альтернатива: пересохранить файл в правильной кодировке через VS Code или Notepad++, но англоязычный скрипт надёжнее в долгосрочной перспективе.


2. Ошибки распаковки архива

Несовпадение контрольной суммы в WinRAR

При извлечении папки сервера из архива WinRAR выдавал ошибку распаковки: из 28 файлов в подпапке windows/core извлекались только 18. Логичный вывод — битый архив.

На самом деле архив был в порядке. Windows Defender не был отключён до конца: он распознавал файлы кряка (msys-2.0.dll и sh.exe) как HackTool и удалял их прямо в момент извлечения. Файл исчезал, WinRAR натыкался на пропажу и считал, что архив повреждён.

Решение: полностью отключить Защитник Windows перед распаковкой, а не просто приостановить защиту в трее.


3. Системные ошибки Windows и конфликты процессов

Semaphore lock и Signal 32 — процессы-зомби

В lmgrd.log появляются строки:

(ugslmd) cannot create semaphore lock (Global\LM_ugslmd_SEMAPHORE): 5 (ugslmd) EXITING DUE TO SIGNAL 32 Exit reason 9 (lmgrd) MULTIPLE "ugslmd" license server systems running.

Процессы старого сервера от NX 10 зависли в оперативной памяти даже после остановки службы. Они удерживали порт 28000 и файлы блокировки, поэтому новый сервер при запуске видел, что место занято, и аварийно отключался с кодом Signal 32.

Решение: жёстко убить процессы через cmd:

taskkill /F /IM ugslmd.exe /T taskkill /F /IM lmgrd.exe /T

Подробнее этот случай разобран в Этапе 1 основного руководства.


Папка уже используется

При попытке удалить папку старого сервера (PLMLicenseServer) Windows выдаёт окно:

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

Внутри папки физически работали lmgrd.exe и ugslmd.exe. Windows блокирует удаление файлов, открытых другим процессом.

Решение: сначала остановить службу старого сервера и завершить процессы через services.msc, Диспетчер задач или taskkill — и только потом удалять папку.


4. Ложные тревоги

Состояние START_PENDING

При запуске install_or_update.bat в консоли мелькает Состояние : 2 START_PENDING. Со стороны выглядит так, будто сервер завис и не работает — в момент паники легко принять это за реальную ошибку.

На деле это нормальная задержка в 3–5 секунд. Батник запрашивает статус службы сразу после команды «Старт», а серверу нужно время, чтобы прочитать огромный файл лицензии (сотни инкрементов INCREMENT для NX, Teamcenter, SolidWorks и прочих продуктов в одном пакете) и открыть порты.

Лечится ожиданием. Через несколько секунд статус в services.msc сам сменится на RUNNING.

Обновлено