6.2. Работа со службами с помощью программ операционной системы

Естественно, что со службами можно работать не только с помощью реестра , но и используя специальные стандартные программы операционной системы Windows Vista. Одну из таких программ мы уже рассмотрели. Это оснастка services.msc, предоставляющая графический доступ к параметрам работы службы. Сейчас же рассмотрим дополнительные программы (или определенные команды программ) командной строки, с помощью которых в операционной системе Windows Vista также можно выполнять доступ к службам.

Возможности программы net.exe

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

• Net statistics server – отображает сведения о работе службы Сервер. Например, данная команда предоставляет следующие сведения: количество сеансов, размер принятых и переданных данных, количество ошибок при доступе к серверу (например, неправильно введенных паролей), количество обращений к файлам и принтерам, расположенным на сервере, и т. д.

• Net statistics workstation – выводит сведения о работе службы Рабочая станция. Например, данная команда предоставляет следующие сведения: размер переданных и принятых данных, количество успешных и запрещенных операций чтения и записи, количество подключений, запущенных сеансов, зависших сеансов и т. д.

• Net config server – отображает следующие сведения о работе службы Сервер: имя сервера, максимальное количество подключенных к серверу пользователей или открытых пользователями файлов, время простоя сеанса с сервером, по истечении которого сеанс будет автоматически завершаться.

• Net config server /AUTODISCONNECT:<количество минут> – устанавливает новое время простоя сеанса с сервером, после истечения которого данный сеанс будет автоматически завершен.

Команда изменяет значение параметра DWORD-типа autodisconnect, расположенного в ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\lanmanserver\parameters.

• Net config server /HIDDEN: – устанавливает или запрещает режим скрытого сервера.

Команда изменяет значение параметра DWORD-типа hidden ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ lanmanserver\parameters.

• Net config workstation – отображает следующие сведения о работе службы Рабочая станция: домен данного компьютера и его DNS-имя, отсчет передачи, таймаут передачи и интервал ожидания открытия СОМ-порта.

• Net continue <имя службы> – выполняет запуск службы, которая ранее была приостановлена.

• Net pause <имя службы> – приостанавливает работу данной службы.

• Net start <имя службы> – запускает работу данной службы.

• Net stop <имя службы> – останавливает работу данной службы.

Использование программы Sc.exe

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

Отображение сведений о службе

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

• Sc enumdepend <имя службы> – отображает список служб (и сведения о них), которые не смогут работать, если будет отключена данная служба.

• Sc getdisplayname <имя службы> – выводит общее имя данной службы.

• Sc getkeyname <общее имя службы> – отображает имя данной службы (название ее ветви реестра ).

• Sc qc <имя службы> [<размер буфера для вывода в байтах>] – выводит такие сведения о службе, как ее имя, тип, способ запуска, действия при возникновении ошибки при запуске службы, файлы службы, ее описание и т. д. Если получаемые сведения будут иметь больший размер, чем указанный в команде буфер, то они будут обрезаться.

• Sc qdescription <имя службы> [<размер буфера для вывода в байтах;-] – отображает строку описания службы.

• Sc qfailure <имя службы> [<размер буфера для вывода в байтах;-] – выводит действия, которые будет выполнять система при возникновении ошибок во время запуска службы.

• Sc sdshow <имя службы> – отображает дескриптор безопасности данной службы.

• sc showsid <имя службы> – выводит идентификатор безопасности для соответствующей службы. Команда является нововведением Windows Vista. Идентификатор безопасности (SID) предназначен для идентификации данной службы среди остальных служб с целью определения ветвей реестра и папок файловой системы, к которым данная служба может получить доступ. В соответствии с концепцией безопасности по умолчанию, которую приводит в жизнь корпорация Microsoft, все меньше служб запускаются от имени локальной системы и со всеми привилегиями. Однако при этом возникает единственная проблема: многим службам нужен доступ к определенным ветвям реестра или каталогам, доступ к которым их учетной записи запрещен. В этом случае применяется SID службы с целью предоставить доступ только определенной службе, а не всем службам одной учетной записи.

• sc qprivs <имя службы> <список привилегий> – отображает список привилегий, предоставляемых соответствующей службе. Команда является нововведением Windows Vista.

Изменение сведений о службе

С помощью следующих команд можно изменить сведения о службе.

• Sc config <имя службы> [type=<тип службы>] [start=<тип запуска>] [error=<действие при ошибке>] [binpath=<путь к исполняемому файлу службы>] [group=<имя группы>] [depend=<список служб и групп, которые должны быть запущены (пишутся через косую черту )>] [obj=<учетная запись пользователя, от имени которого запускается данная служба>] [displayname=<отображаемое имя службы>] [password=<пароль для указанной учетной записи пользователя>] – изменяет настройки указанной службы локального или удаленного компьютера. Вы, наверное, уже поняли, что с помощью данной команды изменяются значения параметров ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<имя службы>. Рассмотрим назначение основных параметров данной команды.

Параметр type= определяет тип службы и может принимать следующие значения.

– Own – служба является программой и выполняется в собственном процессе. Используется по умолчанию.

– Share – является программой и использует общий процесс.

– Kernel – служба является драйвером.

– Filesys – является драйвером файловой системы и необходима для ее работы.

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

– Adapt – описывает работу устройства.

Параметр start= определяет способ запуска службы и может принимать следующие значения.

– Boot – служба запускается загрузчиком системы при инициализации ядра.

– System – запускается после инициализации ядра операционной системы.

– Auto – служба запускается автоматически после отображения окна приветствия (winlogon.ехе).

– Demand – запускается вручную программами, когда она им необходима. Данное значение используется по умолчанию.

– Disabled – служба отключена.

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

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

– Severe – выполнить перезагрузку компьютера с использованием режима запуска последней удачной конфигурации.

– Critical – без работы данной службы невозможна работа операционной системы, поэтому прекратится загрузка операционной системы и компьютер перезагрузится.

– Ignore – продолжить загрузку операционной системы, не обращая внимания на возникшую ошибку.

• Sc description <имя службы> <новая строка описания> – изменяет строку описания для данной службы.

• Sc failure <имя службы> reset= reboot= command= actions= – позволяет изменить поведение операционной системы в случае возникновения ошибки при запуске указанной в команде службы. Она поддерживает следующие значения своих параметров.

Параметр reset= определяет интервал работы службы без ошибок, по истечении которого счетчик ошибок сбрасывается в 0 (на основе счетчика ошибок определяются действия, выполняемые при ошибке).

Параметр reboot= определяет широковещательное сообщение, которое будет посылаться всем компьютерам сети при сбое в работе службы.

Параметр actions= определяет действия (можно указать не больше трех), которые будет выполнять система при возникновении ошибки в работе службы. Возможны следующие значения данного параметра:

– Run – не обращать внимания на ошибку;

– Restart – выполнить перезапуск службы;

– Reboot – выполнить перезагрузку компьютера.

В этом параметре также указывается время в миллисекундах (после символа /), которое система будет ожидать, перед тем как выполнить указанное ранее действие.

Таким образом, общий формат значения параметра actions= следующий: действие первое/интервал первый/действие второе/интервал второй/действие третье/интервал третий.

• sc privs <имя службы> <список привилегий> – позволяет изменить список привилегий, предоставляемых соответствующей службе. Команда является нововведением Windows Vista.

Управление службами

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

• Sc create <имя службы> [type=<тип службы>] [start=<тип запуска>] [error=<действие при ошибке>] [binpath=<путь к исполняемому файлу службы>] [group=<имя группы, которой принадлежит служба>] [depend=<список служб и групп, которые должны быть запущены перед данной (пишутся через косую черту )>] [obj=<учетная запись пользователя, от имени которого запускается данная служба>] [displayname=<отображаемое имя службы>] [password=<пароль к используемой учетной записи пользователя>] – позволяет создать новую службу.

• Sc continue <имя службы> – запускает службу, которая ранее была приостановлена.

• Sc control <имя службы> <управляющий код> – посылает службе указанный в команде управляющий код. Возможны следующие стандартные управляющие коды: paramchange, netbindadd, netbindremove, netbindenable, netbinddisable. Можно также указывать пользовательские коды, если служба их поддерживает.

• Sc delete <имя службы> – удаляет указанную службу.

• Sc pause <имя службы> – приостанавливает работу данной службы.

• Sc start <имя службы> [<аргументы запуска>] – запускает службу.

• Sc stop <имя службы> – останавливает работу службы.

Другие команды

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

• Sc boot – определяет, будет ли текущий сеанс работы компьютера сохраняться как последняя удачная конфигурация. Если в команде используется значение ok, то текущий сеанс работы компьютера будет сохраняться как последняя удачная конфигурация.

• Sc interrogate <имя службы> – с помощью данной команды можно обновить сведения о службе, получив новые сведения у диспетчера служб.

• Sc lock – блокирует работу диспетчера служб, после чего ни одна служба не сможет запуститься. Чтобы прекратить блокирование диспетчера служб, нужно нажать клавишу U.

• Sc querylock – определяет, заблокирована ли работа диспетчера служб, и если заблокирована, то кто именно и когда ее заблокировал.

Загрузка...