После длительного и болезненного связывания 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. В настройках убрать - принудительные остановки, перезапуски и тому подобное скрипта при долгом исполнении (тк именно этот будет в режиме выполнения пока не "вылетит" и будет требоваться перезапуск)

 

Далее уже вопрос в автологоне в систему (Да, это неправильно и надо дальше думать, но в моем случае это было быстрое и главное - работающее решение). Делаем его по любой инструкции из тырнета или по официальной:

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле Открыть введите команду Regedit.exe и нажмите клавишу ВВОД.

  3. Найдите подраздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon в реестре.

  4. В меню Правка выберите пункт Создать, а затем — Строковый параметр.

  5. Введите AutoAdminLogon и нажмите клавишу ВВОД.

  6. Дважды щелкните AutoAdminLogon.

  7. В диалоговом окне Изменение строкового параметра введите 1 и нажмите кнопку ОК.

  8. Дважды щелкните запись DefaultUserName, введите имя пользователя и нажмите кнопку ОК.

  9. Дважды щелкните запись DefaultPassword, введите пароль и нажмите кнопку ОК.

    Если значения DefaultPassword не существует, его необходимо добавить. Чтобы добавить значение, выполните следующие действия.

    1. В меню Правка выберите пункт Создать, а затем — Строковый параметр.

    2. Введите DefaultPassword и нажмите клавишу ВВОД.

    3. Дважды щелкните DefaultPassword.

    4. В диалоговом окне Изменение строкового параметра введите пароль и нажмите кнопку ОК.

       Примечание

      Если строка DefaultPassword не указана, Windows автоматически изменяет значение ключа AutoAdminLogon с 1 (true) на 0 (false), отключая функцию AutoAdminLogon.

  10. Если вы присоединили компьютер к домену, следует добавить значение DefaultDomainName, а данные для значения должны быть заданы в качестве полного доменного имени (FQDN) домена, например contoso.com..

  11. Закройте редактор реестра.

  12. Нажмите кнопку Пуск, нажмите Завершение работы, а затем введите причину в текстовом поле Комментарий.

  13. Нажмите кнопку ОК, чтобы выключить компьютер.

  14. Restart your computer. Теперь вы можете войти в систему автоматически.

 Да, неоптимально, и не секурно, и кондово, но как сделаю правильно - исправлю.