Windows Vista. Для профессионалов - Роман Клименко
Шрифт:
Интервал:
Закладка:
Все службы, исполняемый файл которых является частью файла svchost.ехе, имеют несколько настраиваемых параметров, расположенных в ветви реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion Svchost.
Эта ветвь реестра хранит набор параметров строкового типа. Их значения определяют службы, исполняемый файл которых является частью файла svchost.ехе. Название же этих параметров определяет название дочернего подраздела ветви системного реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NT CurrentVersion Svchost, в котором расположены настройки для этих служб. Название этих параметров также соответствуют записи SCM, под которой эти службы исполняются.
В этих подразделах могут находиться три параметра, имеющие тип REGDWORD, однако наиболее интересным из них является параметр Def aultRpcStackSize. Он определяет размер стека RPC, используемый соответствующими службами.
Основы работы драйверов
Как вы знаете, в ветви системного реестра HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServices описываются не только установленные в операционной системе службы, но и драйверы. При этом драйверы описываются с помощью тех же основных параметров реестра , что и службы. Хотя значения, присваиваемые данным параметрам, могут отличаться. Так, например, параметр Туре для драйверов может использовать только значения 1, 2 и 4. А параметр Start – значения 0 и 1.
Изменить тип запуска драйверов можно не только с помощью реестра , но и с помощью оснастки Диспетчер устройств (devmgmt.msc). Для этого вам нужно сначала включить отображение скрытых устройств (в меню Вид установить флажок Показать скрытые устройства), после чего перейти к разделу дерева оснастки Драйверы несамонастраиваемых устройств. Данный раздел содержит список всех установленных в операционной системе драйверов, которые не поддерживают технологию Plug and Play. При этом если вы отобразите окно Свойства (с помощью одноименной команды контекстного меню) любого из этих драйверов и перейдете на вкладку Драйвер, то в поле Загрузка сможете изменить тип запуска соответствующего драйвера.
...Примечание
По умолчанию оснастка Диспетчер устройств не отображает сведения о несуществующих в данный момент устройствах или драйверах (например, если драйвер устройства был установлен, а потом устройство было извлечено из компьютера). Если же вам нужно изменить параметры именно такого устройства, то достаточно создать системную переменную DEVMGR_SHOW_NONPRESENT_DEVICES и присвоить ей значение 1. После этого вы сможете увидеть несуществующие в данный момент устройства, если в меню Вид установите флажок Показать скрытые устройства.
Для создания данной системной переменной можно воспользоваться либо реестром (создать параметр строкового типа DEVMGR_SHOW_NONPRESENT_DEVICES в ветви HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager Environment), либо окном Переменные среды (отображается после нажатия кнопки Переменные среды, расположенной на вкладке Дополнительно окна Свойства системы).
Список системных драйверов и их описание, а также драйверов, имеющих цифровую подпись, можно также просмотреть с помощью программы msinf о32.ехе. Для этого достаточно запустить ее и перейти к разделам Программная среда → Системные драйверы и Программная среда → Подписанные драйверы.
...Примечание
Список мини-фильтров, установленных в операционной системе, можно просмотреть с помощью программы командной строки fltmc.exe. Если в поле напротив записи драйвера указано значение <Legacy>, то это фильтр. Иначе – мини-фильтр. При этом в поле Число экземпляров указано количество экземпляров данного мини-фильтра.
Диспетчер фильтров – это драйвер фильтра файловой системы. Он упрощает разработку дополнительных драйверов файловой системы от сторонних разработчиков, позволяя им пользоваться уже созданными и откорректированными функциями.
Мини-фильтр представляет собой драйвер, разработанный для модели диспетчера фильтров.
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_MACHINESYSTEMCurrentControlSet Serviceslanmanserverparameters.
• Net config server /HIDDEN:<YES или NO> – устанавливает или запрещает режим скрытого сервера.
Команда изменяет значение параметра DWORD-типа hidden ветви системного реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices lanmanserverparameters.
• 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 службы с целью предоставить доступ только определенной службе, а не всем службам одной учетной записи.