Модульный компонент Services

октября 12 2009 by admin in Службы

SCP-приложение, с которым вам следует ближе всего познакомиться, — это модульный компонент Services. Он отображает список всех служб, установленных на исследуемой машине. В столбцах Name и Description указывается имя и информативное описание функции службы. В столбце Status отображается состояние службы: запущена (Started), приостановлена (Paused) или остановлена (в столбце ничего не отображается). В колонке Startup Type (Вид запуска) указывается, как SCM должен вызвать службу, а п колонке Log On As — контекст безопасности, используемый службой в работающем состоянии.
Эти сведения хранятся в базе данных SCM, которая располагается в следующем подразделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Никогда не обращайтесь напрямую к этому подразделу — делайте это через SCP, которая должна обращаться к функциям Windows, манипулирующими базой данных в этом подразделе (эти функции описаны в следующей главе). Непосредственное изменение содержимого этого раздела приведет к непредсказуемым результатам. Когда вы устанавливаете какой-либо программный продукт, включающий службу, программа установки этого продукта и является SCP, которая добавляет сведения об этой службе в базу данных SCM.
Вы можете просмотреть базу данных удаленного SCM, выделив узел Computer Management в левой панели консоли управления компьютерами и затем выбрав в меню Action элемент Connect To Another Computer.
Все службы, поставляемые с Windows, регистрируются в системе в контексте безопасности LocalSystem. Это высокопривилегированная учетная запись, и я настойчиво советую использовать ее для любых служб, которые вы пишете.
Вы, вероятно, удивляетесь, сколько разных задач можно решить с помощью компонента Services. Вот самые распространенные из них.
Запуск службы Администратор запускает службу, выбирая ее из списка и нажимая кнопку Start на панели инструментов. Запускаться могут только службы с видом запуска Automatic (Автоматически) и Manual (Вручную)-, если в качестве Startup Type установлено Disabled (Заблокирована), служба не запустится. Блокировка службы полезна при выявлении проблем с машиной.
Останов службы Администратор останавливает службу, выбирая ее из списка и нажимая кнопку Stop на панели инструментов. Некоторые службы не позволяют себя остановить, после того как они запустились. Так, служба регистрации событий Event Log останавливается только при выключении машины.
Приостановка и продолжение работы службы Администратор приостанавливает службу, выбирая ее из списка и нажимая кнопку Pause на панели инструментов. Некоторые службы не позволяют себя приостановить. Кроме того, нет четкого определения «приостановки» («паузы») в работе службы. Для одной службы пауза может означать, что служба не может принимать клиентские запросы, пока не закончит обработку ожидающих выполнения запросов. Для другой — что служба вообще больше не выполняет никаких действий. Приостановленные службы можно запустиь, нажав кнопку Start на панели инструментов.
Перезапуск службы Администратор перезапускает службу, выбирая работающую или приостановленную службу из списка и нажимая кнопку Restart на панели инструментов. Эта функция служит лишь для удобства и очень полезна при отладке службы.
Перечисленные в этом списке функции покрывают 99% возможностей, которые компонент Services предоставляет администраторам, но его можно использовать и для перенастройки службы. Чтобы изменить параметры службы, вы выбираете ее и выводите диалоговое окно ее свойств. Это окно имеет четыре вкладки, каждая из которых позволяет администратору перенастроить часть параметров выбранной службы.