Как настроить автоматический запуск программ или скриптов при выключении Windows?
Вы когда-нибудь хотели запустить программу или сценарий при выключении компьютера или при выходе пользователя из системы? В конце дня вызвать программу для очистки временных файлов или запустить резервное копирование регулярно используемых файлов. Несмотря на то, что выполнить автоматический запуск программы при старте Windows достаточно просто, настройка запуска программ при выключении не столь очевидна. Немногие пользователи об этом знают, но во многих версиях Windows есть встроенный инструмент, который позволяет сделать это достаточно просто.
Редактор локальной групповой политики Windows
Хитрость заключается в том, чтобы использовать системный инструмент Windows под названием «Редактор локальной групповой политики» (GPE). К сожалению, Microsoft исключила GPE из всех Home версий, так что этот метод применим только к таким версиям, как Professional и Enterprise. Метод подходит для Windows XP и выше. Возможно вы уже знакомы с GPE, так как данный инструмент представляет множество удобных функций. Тем не менее, даже в таком случае, о возможности запуска сценариев и программ знают немногие.
Примечание: Как альтернативу, вы всегда можете использовать vbs-сценарии или пакетные файлы, вызов которых будет заканчивается запуском консольной команды выключения компьютера.
GPE является одним из системных модулей Windows, известных под названием консоль управления Microsoft или оснастка. Хоть, некоторые из них можно запустить из панели управления Windows, найти их в списках программ нельзя. Учтите, что для запуска оснасток потребуются права администратора.
Запуск сценария или программы при завершении работы Windows
- Чтобы вызвать GPE, откройте окно «Выполнить», при помощи комбинации клавиш «WinKey (Клавиша Windows) + R». Или выполните следующий пункт в строке поиска меню Пуск.
- В поле ввода введите «gpedit.msc» (без кавычек) и нажмите Enter
- В левой панели диалогового окна GPE последовательно раскройте вкладки «Конфигурация компьютера» и «Конфигурация Windows», а затем выберите пункт «Сценарии (запуск/завершение)», как это показано на рисунке выше
- В правой панели окна дважды щелкните на пункте «Завершение работы»
- В открывшемся диалоговом окне нажмите кнопку «Добавить»
- Откроется окно, показанное ниже.
- В поле «Имя сценария» укажите путь до исполняемого файла, который хотите запустить при выключении Windows. Или выберите файл из формы выбора, которая появится по нажатию на кнопку «Обзор. «
- В поле «Параметры сценария» укажите необходимые параметры, если это необходимо
- Нажмите «OK».
Запуск сценария или программы при выходе пользователя из системы Windows
Если вам необходимо запускать программу или сценарий только при выходе пользователя из системы, то в оснастке GPE необходимо использовать другой пункт. Сама инструкция остается точно такой же. Единственно, вам необходимо на шаге 3 раскрыть вместо вкладки «Конфигурация компьютера» вкладку «Конфигурация пользователя». И на шаге 4 дважды щелкнуть на пункте «Выход из системы» вместо «Завершение работы»
Примечание: Данная статья в большей степени предназначена для опытных пользователей. Дополнительные сведения об использовании и планировании через GPE можно найти на сайте Microsoft по этой ссылке.
Теперь вы знаете как запустить исполняемый файл при выключении Windows и при выходе пользователя из системы.
Как настроить автоматическое выполнение команд/скриптов во время перезагрузки или запуска системы
Сегодня поговорим о том, как настроить автоматическое выполнение команд/скриптов во время перезагрузки системы. Вы когда-то задумывались, что происходит «за кулисами», когда вы загружаете систему Linux и входите в систему? Нажимая кнопку питания или запуская виртуальной машины, вы провоцируете ряд событий, которые приводят к активации полностью функциональной системы — иногда менее чем за минуту. То же самое происходит при выходе из системы и/или выключение системы.
Что еще интереснее, так это то, что вы можете заставить операционную систему выполнять определенные действия при её загрузке и при входе/выходе из системы.
В этой статье мы обсудим традиционные методы достижения этих целей в Linux.
Примечание. Предположим, что использование Bash в качестве основной оболочки для обработки событий входа и выхода из системы. Если вы используете другой инструмент, то некоторые из этих методов могут и не заработать.
Выполнение скриптов Linux во время перезагрузки или запуска
Существует два традиционных метода выполнения команды или запуска скриптов во время запуска:
Метод № 1 — Использование планировщика задач cron
Помимо обычного формата (минута / час / день месяца / месяц / день недели), который широко используется для указания расписания, планировщик cron также позволяет использовать @reboot. Эта директива, за которой следует абсолютный путь к скрипту, заставляющий её работать при запуске машины.
Однако для этого подхода есть два важных нюанса:
- Обязательно должен быть запущен демон cron;
- Сценарий или файл crontab должен включать переменные среды (если они есть), которые понадобятся.
Метод № 2 — Использование /etc/rc.d/rc.local
Этот метод действителен даже для системных задач. Чтобы этот метод работал, вы должны установить разрешения на выполнение для файла /etc/rc.d/rc.local следующим образом:
Затем добавьте скрипт в конце файла.
Ниже показано, как запустить два примера скриптов (/home/gacanepa/script1.sh и /home/gacanepa/script2.sh) с использованием задания cron и rc.local соответственно и их соответствующих результатов.
script1.sh:
script2.sh:
Имейте в виду, что оба сценария должны иметь разрешения на выполнение:
Выполнение скриптов Linux при входе/выходе из системы
Чтобы выполнить скрипт при входе в систему или выходе из системы, используйте
/.bash_logout, соответственно. Скорее всего, вам нужно будет создать последний файл вручную. Просто оставьте строку, ссылающуюся на ваш скрипт в нижней части каждого файла так же, как и раньше, и все будет работать.
Итоги
В этой статье мы объяснили, как запустить скрипт при перезагрузке, входе в систему или выходе из системы. Теперь вы сможете без труда настроить автоматическое выполнение команд/скриптов во время перезагрузки системы.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
PowerShell и другие скрипты
Поиск
Календарь постов
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Категории
Запуск программы или скрипта при включении компьютера
Как оказалось задачка из заголовка не так то просто реализуется. Вроде было бы логично если бы программы из HKLM:\Software\Microsoft\Windows\CurrentVersion\Run или RunOnce запускались бы при включении компьютера, ан нет — они стартуют при входе под учетной записью с административными полномочиями. Так что приходится искать другие пути.
Например стартап скрипт из групповых/локальных политик. Этот метод работает, но к сожалению сложновато создать политику из скрипта. Даже локальная политика состоит из немалого количества ключей, создавать которые с помощью reg.exe замучаешься, а импортировать — это уже отдельный .reg файл, что IMHO не слишком красиво ради такой простой (казалось бы) задачки…
В итоге из более менее «красивых» способов нашел только использование планировщика заданий. С помощью утилиты schtasks.exe (доступна на xp/2k3 и выше) добавить задачу, и указать выполнение при загрузке системы. Ну и до кучи я использовал учетную запись System (так как мне был необходим доступ на сетевые ресурсы, а соответственно программа должна использовать учетную запись компьютера из AD).
Эту строчку уже не стыдно использовать в скрипте. Ну и если достаточно выполнить задачу однократно, то можно после запуска удалить её: