Запуск программы или скрипта при включении компьютера

Как оказалось задачка из заголовка не так то просто реализуется. Вроде было бы логично если бы программы из HKLM:\Software\Microsoft\Windows\CurrentVersion\Run или RunOnce запускались бы при включении компьютера, ан нет — они стартуют при входе под учетной записью с административными полномочиями. Так что приходится искать другие пути.

Например стартап скрипт из групповых/локальных политик. Этот метод работает, но к сожалению сложновато создать политику из скрипта. Даже локальная политика состоит из немалого количества ключей, создавать которые с помощью reg.exe замучаешься, а импортировать — это уже отдельный .reg файл, что IMHO не слишком красиво ради такой простой (казалось бы) задачки…

reg

В итоге из более менее «красивых» способов нашел только использование планировщика заданий. С помощью утилиты schtasks.exe (доступна на xp/2k3 и выше) добавить задачу, и указать выполнение при загрузке системы. Ну и до кучи я использовал учетную запись System (так как мне был необходим доступ на сетевые ресурсы, а соответственно программа должна использовать учетную запись компьютера из AD).

schtasks /create /ru SYSTEM /sc ONSTART /tn SetupDM /tr "c:\SetupDM.cmd"

Эту строчку уже не стыдно использовать в скрипте. Ну и если достаточно выполнить задачу однократно, то можно после запуска удалить её:

schtasks /delete /f /tn SetupDm
Опубликовано в Scripting, Tips. 1 Comment »

Один ответ to “Запуск программы или скрипта при включении компьютера”

  1. Запуск процесса на удалённом компьютере – “Проксирование” « PowerShell и другие скрипты Says:

    […] например с помощью планировщика задач (подробнее тут). Он проверяет наличие файла c:commandSharetrigger.txt и если он […]


Обсуждение закрыто.

%d такие блоггеры, как: