После длительного и болезненного связывания zigbee2mqtt с homeassistant пришел к необходимости подключить usb-doungle к серверу хосту для HyperVisor (на котором висит туча виртуальных машин). После стандартной установки npm и самого приложения zigbee2mqtt возник логичный вопрос - автозапуск. Изучив 100500 вариантов, я пришел к своему решению. Оно - "на скорую руку", но главное - работает. Итак, вот, как сделал (пока, по крайней мере) пусть и не очень секурно и не совсем правильно, но как решение меня устраивает. Допилю потом.
Решение подходит в приницпе для запуска любого другого npm пакета в винде.
Автозапуск производится через TaskSheduler с помощью простейшего скрипта.
Set-Location "C:\Users\Administrator\zigbee2mqtt"
npm start
Этот код под себя правим (указываем путь где установлено) в блокноте. Сохраняем с расширением .ps1
Будет он запускаться с помощью PowerShell.
Далее вносим этот скрипт в TaskSheduler. Со следующими параметрами:
1. Автозапуск при входе в систему Пользователя или в моем случае предпочтительнее оказалось еще и ЗАПУСКАТЬ каждую 1 минуту, если не запущена другая копия. Это на тот случай, если программа вылетела с ошибкой и скрипт закончился соответственно (вышел из режима Running)
2. Запускать программу powershell.exe
3. Аргументы запуска - полный путь к скрипту
4. В настройках убрать - принудительные остановки, перезапуски и тому подобное скрипта при долгом исполнении (тк именно этот будет в режиме выполнения пока не "вылетит" и будет требоваться перезапуск)
Далее уже вопрос в автологоне в систему (Да, это неправильно и надо дальше думать, но в моем случае это было быстрое и главное - работающее решение). Делаем его по любой инструкции из тырнета или по официальной:
-
Нажмите кнопку Пуск и выберите пункт Выполнить.
-
В поле Открыть введите команду Regedit.exe и нажмите клавишу ВВОД.
-
Найдите подраздел
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
в реестре. -
В меню Правка выберите пункт Создать, а затем — Строковый параметр.
-
Введите AutoAdminLogon и нажмите клавишу ВВОД.
-
Дважды щелкните AutoAdminLogon.
-
В диалоговом окне Изменение строкового параметра введите 1 и нажмите кнопку ОК.
-
Дважды щелкните запись DefaultUserName, введите имя пользователя и нажмите кнопку ОК.
-
Дважды щелкните запись DefaultPassword, введите пароль и нажмите кнопку ОК.
Если значения DefaultPassword не существует, его необходимо добавить. Чтобы добавить значение, выполните следующие действия.
-
В меню Правка выберите пункт Создать, а затем — Строковый параметр.
-
Введите DefaultPassword и нажмите клавишу ВВОД.
-
Дважды щелкните DefaultPassword.
-
В диалоговом окне Изменение строкового параметра введите пароль и нажмите кнопку ОК.
Примечание
Если строка DefaultPassword не указана, Windows автоматически изменяет значение ключа
AutoAdminLogon
с 1 (true) на 0 (false), отключая функцию AutoAdminLogon.
-
-
Если вы присоединили компьютер к домену, следует добавить значение DefaultDomainName, а данные для значения должны быть заданы в качестве полного доменного имени (FQDN) домена, например
contoso.com.
. -
Закройте редактор реестра.
-
Нажмите кнопку Пуск, нажмите Завершение работы, а затем введите причину в текстовом поле Комментарий.
-
Нажмите кнопку ОК, чтобы выключить компьютер.
-
Restart your computer. Теперь вы можете войти в систему автоматически.
Да, неоптимально, и не секурно, и кондово, но как сделаю правильно - исправлю.