Цель работы: изучить функционал средств управления службами и научиться использовать их возможности на практике.
Службы Windows – это особый тип приложений, которые настроены на запуск и работу в фоновом режиме, в некоторых случаях еще до того, как пользователь войдет в систему. Их можно настроить для работы от имени локальной системной учетной записи. Службы предназначены для непрерывной работы в фоновом режиме и выполнения системных задач, таких как резервное копирование или запуск серверного процесса, прослушивающего сетевой порт, подключение к внешним устройствам или создание стабильного подключения к Интернету. Они имеют общие черты с концепцией демонов Unix.
Как и любое другое приложение службы используют системные ресурсы компьютера. Вы можете заметить, что при загрузке компьютера он сразу поглощает часть оперативной памяти, даже если приложения не открываются. Что ж, большая часть этой оперативной памяти используется службами Windows.
Еще во времена Windows XP службы можно было настроить для интерактивной работы и запуска вместе с остальными вашими приложениями, но начиная с Vista все службы вынуждены работать в специальном сеансе окна, который не может взаимодействовать с вашим локальным рабочим столом. Таким образом, служба, которая пытается открыть диалоговое окно или показать вам сообщение, не сможет этого сделать.
В отличие от обычных приложений, которые можно просто запустить и запустить под вашей учетной записью пользователя, служба должна быть установлена и зарегистрирована в Windows, для чего требуется учетная запись администратора и, как правило, запрос контроля учетных записей, прежде чем это произойдет. Поэтому, если вы не разрешаете приложению запускаться от имени администратора, оно не может просто создать службу для работы в фоновом режиме.
Есть много способов получить доступ к средству управления службами Windows. Вы можете получить к нему доступ из панели управления в разделе «Инструменты администратора» или введите «Службы Windows» в системном поиске Windows.
Чтобы запустить средства управления службами в Windows, необходимо нажать клавиши Windows + R и ввести services.msc в окно «Выполнить».
Средство управления службами обитает по адресу: C:\ProgramData\Microsoft\Windows\Start\Menu\Programs\Administrative\Tools\services.lnk
Панель довольно проста: в ней есть список службы, столбец состояния, показывающий, запущены они или нет и дополнительная информация, такая как имя, описание, тип запуска службы и раздел вход от имени. Вы заметите, что не все службы работают постоянно.
Командная панель содержит четыре меню:
По каждой службе можно два раза кликнуть мышкой и увидеть описание, статус запуска, используемые права, зависимости (другие службы), исполняемый файл и прочие параметры.
Так же можно управлять текущем состоянием службы:
Вкладка «Вход в систему» позволяет выбрать, будет ли служба входить в систему под учетной записью локальной системы или под другой учетной записью. Это в основном полезно в серверной среде, где вы можете захотеть запустить учетную запись службы из домена, имеющего доступ к ресурсам на других серверах.
«Разрешить взаимодействие с рабочим столом». По умолчанию службам не разрешен доступ к вашему рабочему столу, если этот флажок не установлен. На практике этот флажок действительно существует только для крайне устаревших служб, например на Windows 8.
В большинстве случаев рекомендуется не изменять этот параметр. Если служба может взаимодействовать с рабочим столом, то любые сведения, отображаемые службой на рабочем столе, также будет отображаться на рабочем столе интерактивных пользователей. Злоумышленник может получить управление службой в свои руки или атаковать ее с интерактивного рабочего стола.
Возможные параметры входа в систему:
Вкладка «Восстановление» позволяет выбрать варианты действий при сбое службы:
На вкладке зависимостей показано, какие службы зависят от конкретной службы, а какие службы зависят от того, на который вы смотрите. Если вы планируете отключить службу, вероятно, следует сначала ознакомиться с этим разделом, чтобы убедиться, что после отключения не сломаются другие компоненты.
Управлять службами можно также через командую строку CMD, используя утилиту SC.
SC представляет собой программу командной строки, используемую для связи со службами и диспетчером управления службами.
Чтобы запросить статус всех служб откройте CMD и выполните: sc query
Чтобы запросить статус конкретной службы используйте команду: sc qс <имя службы>
Существует множество других команд и операций, которые вы можете выполнять, в том числе удаление службы.
Например, если в вашей системе есть вредоносное ПО, работающее как служба.
Еще пару примеров команд:
Попробуйте остановить какую-нибудь службу (желательно не системно значимую, а то может быть грустно).