Меню Рубрики

Мониторинг службы windows winlogon

Мониторинг служб Windows

Для мониторинга и управления службами Windows можно применять доступную в консоли ММС оснастку Services (Службы), которая находится в узле Computer Management (Управление компьютером). Кроме того, в состав любой системы Windows входит утилита командной строки net.ехе, которая тоже позволяет управлять службами, и более функциональная утилита sc.exe. Управлять службами также можно и прямо из окна Server Explorer в Visual Studio.

В этой статье будет показано, как с помощью класса System.ServiceProcess.ServiceController создать свое небольшое приложение Windows специально для осуществления мониторинга и управления службами.

Оснастка Services консоли ММС

С помощью оснастки Services (Службы), которая предлагается в консоли ММС (Microsoft Management Console — консоль управления Microsoft), можно просматривать информацию о состоянии всех служб:

Кроме того, она позволяет отправлять службам управляющие запросы для их останова, включения или отключения, а также изменять их конфигурацию. Оснастка Services представляет собой программу для управления и конфигурирования служб.

Двойной щелчок на службе QuoteService в окне этой оснастки приводит к открытию диалогового окна Properties (Свойства). В этом диалоговом окне можно будет увидеть имя службы, ее описание, путь к ее исполняемой программе, режим запуска и состояние. В настоящий момент служба находится в запущенном состоянии. На вкладке Log On (Вход в систему) этого окна при желании можно изменить учетную запись, от имени которой должно осуществляться управление процессом службы:

Утилита net.ехе

Оснастка Services (Службы) довольно проста в применении, но автоматизировать ее работу системный администратор не может, поскольку ее использование внутри административного сценария не поддерживается. Для управления службами с помощью средства, работа которого может быть автоматизирована с применением сценариев, можно использовать утилиту командной строки net.ехе.

Например, команда net start позволяет просмотреть список запущенных служб, команда net start — запустить любую необходимую службу, а команда net stop — отправить запрос на останов указанной службы. Приостанавливать и возобновлять работу интересующей службы можно с помощью, соответственно, команд net pause и net continue (разумеется, данная служба поддерживает такое поведение).

Утилита sc.eхе

Утилита sc.ехе представляет собой еще одну поставляемую в составе операционной системы утилиту, о которой мало кому известно. Это замечательный инструмент для работы со службами. С ее помощью можно делать гораздо больше, чем посредством утилиты net.ехе. Она позволяет проверять текущее состояние службы, а также конфигурировать, удалять и добавлять службы. Кроме того, она упрощает удаление службы в случае ее некорректного функционирования.

Окно Server Explorer в Visual Studio

Управлять службами можно также с помощью предлагаемого в Visual Studio окна Server Explorer, выбрав в нем элемент Services (Службы). Этот элемент находится внутри элемента с именем текущего компьютера, который, в свою очередь, расположен в дереве под элементом Servers (Серверы). Выделив внутри этого элемента желаемую службу и открыв контекстное меню, можно запускать и останавливать службу. Также с помощью этого контекстного меню можно добавлять в проект класс ServiceController.

Чтобы добавить в приложение класс ServiceController для конкретной службы, необходимо перетащить интересующую службу из окна Server Explorer в область конструктора; экземпляр этого класса будет автоматически добавлен в приложение. Свойства этого экземпляра автоматически настраиваются так, чтобы открыть доступ к выбранной службе. В код также добавляется ссылка на сборку System.ServiceProcess. После этого данный экземпляр можно использовать для управления службой так, как описано в следующем разделе.

Создание специального класса ServiceController

В настоящем разделе рассматривается пример создания небольшого приложения Windows, в котором используется класс ServiceController для мониторинга и управления службами Windows. Создаваемое приложение представляет собой приложение WPF, пользовательский интерфейс которого имеет вид, показанный на рисунке:

В главном окне этого приложения имеется область для отображения списка всех служб, четыре текстовых поля для вывода отображаемого имени, состояния, типа и имени каждой службы, а также шесть кнопок, четыре из которых предназначены для отправки управляющих событий и две — для обновления списка служб и завершения работы приложения.

XAML-разметка данного окна выглядит следующим образом:

С помощью класса ServiceController можно получать подробную информацию о каждой службе. В таблице приведено краткое описание свойств этого класса:

Свойство Описание
CanPauseAndContinue Возвращает true, если службе могут отправляться запросы на приостановку и возобновление работы.
CanShutdown Возвращает true, если служба имеет обработчик для завершения работы системы.
CanStop Возвращает true, если служба может быть остановлена.
DependentServices Возвращает коллекцию зависимых служб. В случае останова службы сначала останавливаются все ее зависимые службы.
ServicesDependentOn Возвращает коллекцию служб, от которых зависит данная.
DisplayName Специфицирует имя, которое должно отображаться для данной службы.
MachineName Специфицирует имя машины, на которой выполняется служба.
ServiceName Специфицирует имя службы.
ServiceType Специфицирует тип службы. Служба может запускаться как внутри разделяемого процесса, который могут использовать несколько служб (вроде Win32SharedProcess), так и внутри отдельного процесса, который может использовать только одна служба (наподобие Win320wnProcess). Если служба способна взаимодействовать с рабочим столом, тогда ее тип будет interactiveProcess.
Status Отражает состояние службы. Состояние может принимать следующие значения: работает (running), остановлена (stopped), временно приостановлена (paused), находится в некотором промежуточном состоянии — в процессе запуска (start pending), в процессе останова (stop pending) и т.п. Все возможные значения состояния определены в перечислении ServiceControllerStatus.

В создаваемом здесь приложении для отображения информации о службах используются свойства DisplayName, ServiceName, ServiceType и Status, а для включения и отключения доступа к кнопкам Pause (Пауза), Continue (Продолжить) и Stop (Остановить) — свойства CanPauseAndContinue и CanStop.

Для отображения текущей информации о службе в классе ServiceControllerInfo предусмотрены доступные только для чтения свойства DisplayName, ServiceName, ServiceTypeName и ServiceStatusName. В реализации свойств DisplayName и ServiceName просто производится доступ к свойствам DisplayName и ServiceName лежащего в основе класса ServiceController. В реализации свойств ServiceTypeName и ServiceStatusName выполняется немного больше работы: информация о состоянии и типе службы не может быть возвращена столь же просто, поскольку вместо чисел, которые возвращает класс ServiceController, должны отображаться строки.

Свойство ServiceTypeName возвращает строку, отражающую тип службы. Значение ServiceType, получаемое из свойства ServiceController.ServiceType, представляет собой набор флагов, которые могут объединяться с помощью битовой операции «ИЛИ». Бит InteractiveProcess может устанавливаться вместе с Win320wnProcess и Win32ShareProcess. Поэтому перед проверкой остальных значений проверяется, был ли установлен бит InteractiveProcess. В случае служб возвращаемые строки выглядят как «Win32 Service Process» или «Win32 Shared Process»:

Управление службами из кода описывается в следующей статье.

Источник

Процесс WINLOGON.EXE

WINLOGON.EXE – это процесс, без которого невозможен запуск ОС Windows и её дальнейшее функционирование. Но иногда под его личиной кроется вирусная угроза. Давайте разберемся, в чем состоят задачи WINLOGON.EXE и какая опасность может исходить от него.

Сведения о процессе

Данный процесс можно всегда увидеть, запустив «Диспетчер задач» во вкладке «Процессы».

Какие же функции он выполняет и зачем нужен?

Основные задачи

Прежде всего, остановимся на основных задачах данного объекта. Его первостепенной функцией является обеспечение входа в систему, а также выхода из неё. Впрочем, это нетрудно понять даже из самого его наименования. WINLOGON.EXE называют также программой входа в систему. Она отвечает не только за сам процесс, но и за диалог с пользователем во время процедуры входа через графический интерфейс. Собственно, заставки при входе и выходе из Windows, а также окно при смене текущего пользователя, которые мы видим на экране, являются продуктом деятельности указанного процесса. В круг ответственности WINLOGON входит отображение поля для ввода пароля, а также проверка подлинности введенных данных, если вход в систему под конкретным именем пользователя запаролен.

Запускает WINLOGON.EXE процесс SMSS.EXE (Диспетчер сеанса). Он продолжает функционировать в фоне на протяжении всего сеанса. После этого уже сам активированный WINLOGON.EXE запускает LSASS.EXE (Сервис проверки подлинности локальной системы безопасности) и SERVICES.EXE (Диспетчер управления службами).

Для вызова активного окна программы WINLOGON.EXE, в зависимости от версии Виндовс, применяются сочетания Ctrl+Shift+Esc или Ctrl+Alt+Del. Также приложение активирует окно при запуске юзером выхода из системы или при горячей перезагрузке.

При аварийном или принудительном завершении WINLOGON.EXE различные версии Windows реагируют по-разному. В большинстве случаев это приводит к синему экрану. Но, например, в Windows 7 происходит только выход из системы. Наиболее частой причиной аварийной остановки процесса является переполненность диска C. После его очистки, как правило, программа входа в систему работает нормально.

Размещение файла

Теперь давайте выясним, где физически размещен файл WINLOGON.EXE. Это нам в будущем понадобится для отмежевания настоящего объекта от вирусного.

  1. Для того, чтобы определить место расположения файла с помощью Диспетчера задач, прежде всего нужно переключиться в нем в режим отображения процессов всех юзеров, произведя нажим на соответствующую кнопку.

После этого кликаем правой кнопкой мышки по наименованию элемента. В раскрывшемся перечне выбираем «Свойства».

В окне свойств перейдите во вкладку «Общие». Напротив надписи «Расположение» находится адрес размещения искомого файла. Практически всегда этот адрес следующий:

В очень редких случаях процесс может ссылаться на следующую директорию:

Кроме этих двух директорий больше нигде размещение искомого файла невозможно.

Кроме того, из Диспетчера задач существует возможность перейти в непосредственное место расположения файла.

    В режиме отображения процессов всех пользователей щелкните по элементу правой кнопкой мыши. В контекстном меню выберите «Открыть место хранения файла».

  • После этого откроется Проводник в той директории винчестера, где расположен искомый объект.
  • Подмена вредоносной программой

    Но иногда наблюдаемый в Диспетчере задач процесс WINLOGON.EXE может оказаться вредоносной программой (вирусом). Посмотрим, как отличить настоящий процесс от поддельного.

      Прежде всего, нужно знать, что в Диспетчере задач может быть только один процесс WINLOGON.EXE. Если вы наблюдаете больше, то один из них вирус. Обратите внимание, чтобы напротив изучаемого элемента в поле «Пользователь» стояло значение «Система» («SYSTEM»). Если процесс запускается от имени любого другого пользователя, например от имени текущего профиля, то можно констатировать факт, что мы имеем дело с вирусной активностью.

    Также проверьте место расположения файла любым из тех способов, которые были указаны выше. Если оно отличается от тех двух вариантов адресов для данного элемента, которые допускаются, то, опять же, перед нами вирус. Довольно часто вирус находится в корне каталога «Windows».

    Вашу настороженность должен вызвать факт высокого уровня использования ресурсов системы данным процессом. В нормальных условиях он практически неактивен и активизируется только в момент входа/выхода из системы. Поэтому потребляет крайне мало ресурсов. Если WINLOGON начинает грузить процессор и потреблять большое количество оперативки, то мы имеем дело либо с вирусом либо с каким-то сбоем в системе.

    Если хотя бы один из перечисленных подозрительных признаков имеется в наличии, то скачайте и запустите на ПК лечащую утилиту Dr.Web CureIt. Она просканирует систему и в случае обнаружения вирусов произведет лечение.

    Если утилита не помогла, но вы видите, что объектов WINLOGON.EXE в Диспетчере задач два или больше, то остановите тот объект, который не отвечает стандартам. Для этого щелкните по нему правой кнопкой мыши и выберите «Завершить процесс».

    Откроется маленькое окошко, где вы должны будете подтвердить свои намерения.

    После того, как процесс завершен, переместитесь в папку расположения того файла, на который он ссылался, щелкните по этому файлу правой кнопкой мышки и выберите в меню «Удалить». Если система того потребует, подтвердите свои намерения.

    После этого почистите реестр и повторно проверьте компьютер утилитой, так как довольно часто файлы такого типа подгружаются посредством команды из реестра, прописанной вирусом.

    Если не удается остановить процесс или снести файл, то зайдите в систему в Безопасном режиме и выполните процедуру удаления.

    Источник

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Мониторинг системы в играх windows 10
  • Мониторинг сети под windows
  • Мониторинг сервера windows server 2012
  • Мониторинг ресурсов в играх windows 10
  • Мониторинг ресурсов windows server 2012