Windows Vista. Для профессионалов Клименко Роман

– Вывод сообщения – отобразить на экране сообщение. При этом нужно указать заголовок и текст сообщения.

• Условия – дает возможность настроить дополнительные условия запуска и остановки задания. К ним можно отнести: запуск задания тлько после определенного времени работы компьютера, запуск задания только на компьютере, подключенном к сетевой розетке (не питающегося в данный момент от батареи), запуск задания, только если доступно определенное сетевое подключение.

• Параметры – позволяет определить основные настройки работы задания. К ним относятся указания: разрешено ли запускать задание вручную, будет ли перезапущено задание после того как оно по каким-то причинам будет экстренно остановлено (а также настройки перезапуска). С помощью данной вкладки можно также определить действия при запуске нового задания, если при этом предыдущее задание еще работает.

• Журнал – содержит список событий стандартных журналов Windows, которые были созданы данным заданием.

Управление заданиями

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

• Выполнить – вручную запустить задание;

• Завершить – прекратить работу задания;

• Отключить – отключить автоматический запуск задания;

• Удалить – полностью удалить задание.

Если же вам нужно создать задание, то воспользуйтесь командой Создать простую задачу или Создать задачу контекстного меню одного из подразделов оснастки. Если вы выберете команду Создать простую задачу, то отобразится мастер создания задания, который попросит вас указать только необходимые для работы задания параметры. Если же вы воспользуетесь командой Создать задачу, то отобразится окно параметров задания, которое мы уже рассмотрели ранее (см. рис. 5.32).

Контекстное меню оснастки также содержит две дополнительные команды.

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

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

Программа schtasks.exe

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

Просмотр сведений о заданиях. Для отображения списка назначенных заданий определенного компьютера достаточно воспользоваться следующей командой: schtasks.exe/Query /S <компьютер> /U <пользователь> /Р <пароль>. Если же вы хотите отобразить сведения о заданиях локального компьютера, то параметры /s, /и, /р можно опустить.

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

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

Создание и удаление задания. Команда создания задания имеет много параметров, рассказывать о которых не имеет смысла. Далее будет приведен самый простой способ создания задания, а информацию об остальных параметрах можно просмотреть с помощью команды schtasks.ехе/create /?.

Самым простым способом создания задания является команда schtasks.exe/create /SC <интервал запуска задания> /TN <название задания> /TR <команда, которая будет выполняться при старте заданиях С помощью этой команды создается определенное задание на локальном компьютере, запускаемое с определенным интервалом времени. Естественно, что также в приведенной выше команде можно использовать рассмотренные ранее параметры /s, /и, /р для создания задания на удаленном компьютере.

Параметр /SC может принимать следующие значения:

• MINUTE – запускать задание каждую минуту;

• HOURLY – каждый час;

• DAILY – каждый день;

• WEEKLY – один раз в неделю;

• MONTHLY – один раз в месяц;

• ONCE – только сейчас, при этом также нужно указать параметр /ST <время запуска задания>;

• ON START – при входе любого пользователя;

• ONLOGON – при входе текущего пользователя;

• ON IDLE – при простое системы;

• ONEVENT – при возникновении определенного события.

При создании задания можно также указать пользователя, от имени которого оно будет запускаться. Для этого применяются параметры /RU <пользователь> и /RP <пароль>.

Если же вам необходимо удалить задание, то нужно воспользоваться командой schtasks.exe/delete /tn <имя заданиях После этого программа спросит вас, действительно ли вы хотите удалить задание. Если вы нажмете клавишу Y, то оно будет удалено. При этом с помощью параметра /F можно подавить вывод подтверждения на удаление.

Запуск и остановка задания. Запуск и остановка задания являются довольно простыми задачами. Для их выполнения достаточно воспользоваться командой schtasks.exe/run |/end /tn <имя заданиях При этом также можно использовать параметры /s, /и, /р для запуска и остановки задания на удаленном компьютере.

Изменение настроек задания. Чтобы изменить настройки запуска задания, нужно воспользоваться командой вида schtasks.exe/change /tn <имя задания> <параметры, значения которых нужно изменить>. Описание параметров, которые можно здесь использовать, можно просмотреть с помощью команды schtasks.exe/change /?.

Управляющий элемент WMI

CLSID-номер оснастки: {5C659257-E236-11D2-8899-00104B2AFB46}.

Библиотека: wbemcntl.dll.

Используется в стандартных консолях: compmgmt.msc, WmiMgmt.msc.

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

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

• Архивация или восстановление – позволяет выполнить архивацию или восстановление репозитария CIM, а также настроить параметры архивации.

• Безопасность – дает возможность настроить параметры доступа пользователей к определенным пространствам имен репозитария CIM.

• Дополнительно – позволяет указать пространство имен репозитария CIM, которое будет использоваться в сценариях по умолчанию (если создатель сценария не указал конкретное имя пространства имен). Как и раньше, по умолчанию используется пространство имен root\cimv2.

Другие оснастки

Элемент ActiveX

CLSID-номер оснастки: {C96401CF-0E17-11D3-885B-00C04F72C717 }.

Библиотека: mmcndmgr.dll.

Используется в стандартных консолях: нет.

Она является стандартной оснасткой всех операционных систем семейства Windows NT. Несмотря на это (в данной книге будут полностью описаны лишь новые оснастки Windows Vista, остальные будут описаны поверхностно), о данной оснастке стоит поговорить подробней, так как очень мало пользователей понимают ее назначение. Все дело в том, что она является не вещью в себе, а своеобразным конструктором, с помощью которого вы можете добавить в создаваемую консоль любой ActiveX-объект, зарегистрированный в операционной системе.

После выбора данной оснастки перед вами отобразится мастер Вставка элемента управления ActiveX (рис. 5.33), с помощью которого можно выбрать нужный ActiveX-объект. Окно мастера состоит из двух элементов. Первым является раскрывающийся список, с помощью которого можно выбрать категорию ActiveX-объектов, а вторым является список всех ActiveX-объектов данной категории.

Рис. 5.33. Мастер для выбора добавляемого ActiveX-объекта

Следующим шагом мастера является присвоение имени новому ActiveX-объекту, после чего его работа будет закончена.

Например, можно воспользоваться услугами следующих ActiveX-объектов:

• с помощью ActiveX-объекта Элемент управления Календарь можно добавить в консоль управления Microsoft календарь;

• используя ActiveX-объект Microsoft Office Spreadsheet, можно добавить в консоль управления Microsoft лист Microsoft Excel;

• ActiveX-объект Windows Media PLayer позволяет добавить в консоль управления Microsoft окно музыкального проигрывателя;

• ActiveX-объект System Monitor Control позволяет добавить в консоль управления Microsoft окно системного монитора, с помощью которого можно наблюдать за состояниями счетчиков производительности.

Управление компьютером

CLSID-номер оснастки: {58221C67-EA27-llCF-adcf-00AA00A80033}.

Библиотека: mycomput dll.

Используется в стандартных консолях: compmgmt.msc.

Оснастка Управление компьютером представляет собой набор следующих оснасток: Планировщик заданий, Просмотр событий, Локальные пользователи и группы, Стабильность и производительность, Диспетчер устройств, Управление дисками, Службы и Управляющий элемент WMI. Кроме того, сама оснастка Управление компьютером не является нововведением операционной системы Windows Vista, поэтому описывать ее нет смысла.

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

Кроме того, с помощью кнопки Изменить расширения окна Добавление и удаление оснастки можно указать расширения, из которых состоит данная оснастка и которые будут загружены. Фактически, таким способом можно запретить отображение ненужных вам оснасток, которые выводятся после загрузки оснастки Управление компьютером, так как расширения как раз и представляют собой загружаемые оснастки.

Папка

CLSID-номер оснастки: {C96401CC-0E17-11D3-885B-00C04F72C717 }.

Библиотека: mmcndmgr.dll.

Используется в стандартных консолях: используется по умолчанию во всех консолях.

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

Теперь вы можете загружать оснастки не только в корень консоли, но и в созданный подраздел корня. Но перед этим в окне Добавление и удаление оснастки нужно нажать кнопку Дополнительно и в появившемся окне установить флажок Разрешить изменять родительскую оснастку. После этого активизируется раскрывающийся список Родительская оснастка окна Добавление и удаление оснастки, в котором нужно выбрать не раздел Корень консоли, используемый по умолчанию, а созданный вами ранее подраздел. Теперь все загружаемые вами оснастки будут отображаться не в корне консоли, а в созданном вами подразделе.

Ссылка на веб-ресурс

CLSID-номер оснастки: {C96401D1-0E17-11D3-885B-00C04F72C717 }.

Библиотека: mmcndmgr.dll.

Используется в стандартных консолях: нет.

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

При загрузке оснастки вас попросят ввести название сайта, а также имя раздела, который будет создан в консоли управления Microsoft.

Глава 6 Стандартные службы Windows Vista

• Основные сведения о службах

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

• Службы Windows Vista

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

6.1. Основные сведения о службах

Служба представляет собой программу, как правило, работающую в фоновом режиме и расширяющую возможности операционной системы. При этом все службы состоят из трех компонентов: собственно файла службы, программы управления службой (SCP) и диспетчера управления службами (SCM).

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

Программа управления службой (SCP) предназначена для запуска, остановки и настройки службы (для взаимодействия с SCM). Каждая служба может поставляться со своей собственной программой управления, однако чаще всего службы используют стандартный SCP операционной системы Windows. Например, SCP является оснастка операционной системы services.msc или программа командной строки sc.ехе.

Диспетчер управления службами SCM реализован в виде файла services.ехе и содержит сведения обо всех зарегистрированных в операционной системе службах. Он запускается процессом Winlogon.exe еще до запуска графического интерфейса (окно входа в систему).

...

Примечание

Диспетчер SCM взаимодействует с SCP с помощью именованного канала \Pipe\ Ntsvcs. SCM при запуске очередной службы также создает канал \Pipe\Net\ NtControl-PipeX, после чего ждет подключения запускаемой службы к этому каналу.

Если по истечении определенного интервала (по умолчанию 30 секунд) служба так и не подключилась к каналу, то SCM завершает работу службы. Интервал ожидания подключения службы к каналу определяется параметром REG_DWORD-типа ServicesPipeTimeout, расположенным в ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control.

Если же служба подключилась к каналу, то SCM передает по каналу команду окончательного запуска службы.

Сведения обо всех службах и драйверах, установленных в системе, хранятся в подразделах ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services. Эта ветвь является постоянным представлением базы служб SCM.

Каждая установленная служба или драйвер (независимо от того, работает он в данный момент или нет) имеет свой собственный подраздел в данной ветви реестра. Этот подраздел создается в тот момент, когда служба регистрируется с помощью функции CreateService из библиотеки advapi32.dll.

Параметры, описывающие службы

Подраздел службы хранит общие сведения о службе, например имя и описание службы, ее исполняемый файл, способ запуска и т. д., а также настройки службы, если такие имеются. Общие сведения о работе служб хранятся в одних и тех же параметрах (с одинаковыми названиями), тогда как настройки службы могут описываться любыми параметрами, названия которых придумывают сами создатели службы. Кроме того, общие сведения о службах всегда располагаются непосредственно в ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\<название службы>, тогда как параметры настройки службы могут находиться в любом подразделе данной ветви реестра (но чаще всего находятся в подразделе Parameters).

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

• Group – этот параметр строкового типа определяет группу служб или драйверов, к которой относится данная служба. От названия группы зависит время, когда данная служба будет запущена. Дело в том, что все группы служб запускаются последовательно: сначала службы, принадлежащие одной группе, потом службы, принадлежащие другой группе, и т. д. Если же служба не принадлежит ни одной из групп, то она запускается одной из самых последних.

Сама последовательность запуска групп служб описана в параметре типа REG_MULTI_SZ List, расположенном в ветви реестра HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\ServiceGroupOrder.

...

Примечание

Просмотреть список групп, зарегистрированных в операционной системе Windows Vista, можно с помощью класса Win32_LoadOrderGroup, принадлежащего пространству имен \\root\cimv2. Экземпляры данного класса описывают отдельную группу и поддерживают следующие свойства: DriverEnabled (определяет, могут ли в данную группу входить драйверы), GroupOrder (указывает очередность загрузки элементов данной группы), Name (ключевое свойство, определяющее название группы).

• DependOnGroup – этот параметр типа REG_MULTI_SZ определяет группы служб или драйверов, которые обязательно должны быть запущены перед запуском данной службы. Предполагается, что все группы служб, описанные в этом параметре, необходимы для ее работы, поэтому без запуска любой описанной в параметре группы данная служба запущена не будет.

• DependOnService – имеет тип REG_MULTI_SZ и определяет службы, которые должны быть запущены перед запуском данной службы. Предполагается, что все службы, описанные в этом параметре, необходимы для ее работы, поэтому без запуска любой описанной в параметре службы данная служба запущена не будет.

...

Примечание

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

• DisplayName – этот параметр строкового типа определяет название службы, используемое для ее отображения в оснастке services.msc.

• Description – имеет строковый тип и определяет описание службы, используемое для отображения строки ее описания в оснастке services.msc.

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

– LocalSystem – служба запускается с правами локальной системы (данная учетная запись принадлежит администраторам компьютера со всеми вытекающими возможностями). Служба также запускается с правами локальной системы, если данный параметр отсутствует.

Эта учетная запись хранит свои настройки в ветви реестра HKEY_USERS\.DEFAULT. Профиль же данной учетной записи содержится в каталоге %systemdrive%\Users\Default.

– NT Authority\NetworkService – служба запускается с правами пользователя, которому разрешен доступ к сети.

Данная учетная запись хранит свои настройки в ветви реестра HKEYUSERS \ S-l-5-20. Профиль же данной учетной записи содержится в каталоге %systemroot%\ServiceProfiles\NetworkService.

– NT AUTHORITY\LocalService – служба запускается с правами локального пользователя, который может взаимодействовать с сетью только с помощью нулевых сеансов (в остальном же данная учетная запись аналогична учетной записи NetworkService).

Учетная запись хранит свои настройки в ветви системного реестра Windows HKEY_USERS\S-l-5-l9. Профиль же ее содержится в каталоге %systemroot%\ServiceProfiles\LocalService.

-.\<логин пользователя> – служба запускается с правами данного пользователя.

• ErrorControl – этот параметр типа REG_DWORD определяет поведение системы при возникновении ошибок во время запуска данной службы. Он может принимать следующие значения.

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

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

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

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

Последняя удачная конфигурация загружает операционную систему на основе ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\ControlSetX, номер которой указан в параметре REG_DWORD-типа LastKnownGood, расположенном В ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\Select.

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

Для этого им достаточно описать новую программу верификации запуска системы с помощью ветви реестра Windows HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\BootVerificationProgram. Также им нужно будет присвоить параметру строкового типа ReportBootOk, расположенному В ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsof t\ Windows NT\CurrentVersion\Winlogon, значение 0. Это необходимо сделать, чтобы операционная система не вызывала функцию Notif yBootConf igStatus при входе пользователя в систему (так как эта функция будет вызываться из новой программы верификации). Функция вызывается перед сохранением последней удачной конфигурации.

• ImagePath – этот параметр строкового типа определяет путь к исполняемому файлу службы. Именно этот файл представляет собой службу и будет запускаться при ее загрузке.

• Start – имеет тип REG_DWORD и определяет, когда именно будет запускаться данная служба. Он может принимать следующие значения.

– 0 – запускать драйвер загрузчиком операционной системы (NTLDR) перед началом этапа инициализации ядра (во время загрузки драйвер будет находиться в памяти).

– 1 – запускать драйвер при инициализации ядра (подсистемой ввода/вывода).

– 2 – запускать службу с помощью диспетчера управления службами (services.ехе) после запуска окна приветствия winlogon.ехе.

– 3 – запускать службу вручную, когда она понадобится какой-нибудь программе.

– 4 – запрещает запуск данной службы.

• DelayedAutoStart – этот параметр REG_DWORD-типа является нововведением операционной системы Windows Vista. Если его значение равно 1, то служба будет запускаться не сразу, а через определенный промежуток времени, чтобы не загружать операционную систему (с задержкой). Как правило, данный параметр используется в том случае, когда значение параметра Start равно 2.

• ServiceSidType – имеет тип REG_DWORD и является нововведением операционной системы Windows Vista. Он определят тип SID, который был присвоен соответствующей службе. Если значение данного параметра равно 1, то служба будет использовать неограниченный SID. А если значение равно 3, то ограниченный.

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

• Туре – имеет тип REG_DWORD и определяет тип службы. Возможны следующие значения этого параметра.

– 0x1 – драйвер представляет устройство уровня ядра.

– 0x2 – драйвер является драйвером файловой системы уровня ядра.

– 0x4 – драйвер является аргументом для адаптера (данное значение является устаревшим).

– 0x8 – драйвер используется для распознавания файловой системы.

– 0x10 – служба является программой, запускающей свой процесс.

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

– 0x100 – данное значение параметра может добавляться к остальным значениям. Присутствие этого значения говорит о том, что службе разрешено взаимодействовать с Рабочим столом пользователя (то есть она может отображать свои окна). Использование данного значения параметра разрешено только для служб, запущенных от имени системы.

По умолчанию службы, запущенные от имени системы или другой учетной записи, не могут взаимодействовать с Рабочим столом текущего пользователя. Это связано с особенностями работы операционной системы Windows: каждая учетная запись имеет свой собственный Рабочий стол и может взаимодействовать только с ним. При этом отображаться может только один Рабочий стол – текущего пользователя. Поэтому, даже если служба попытается отобразить какое-либо сообщение (за исключением диалогового сообщения, которое служба может отобразить на Рабочем столе текущего пользователя, воспользовавшись специальными параметрами), пользователь этого сообщения не увидит.

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

...

Примечание

Запретить работу служб в интерактивном режиме можно с помощью параметра типа REG_DWORD NolnteractiveServices, расположенного в ветви HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\Windows.

• FailureActions – этот параметр REG_BINARY-типа определяет действия, которые будет выполняться в том случае, если в работе службы произошел сбой. При этом сначала в этом параметре описываются действия для первой неудачной попытки запуска, затем для второй, а потом для всех остальных.

• RequiredPrivileges – имеет тип REG_MULTI_SZ и определяет особые привилегии, которые необходимы для работы данной службы. Он впервые появился в операционной системе Windows Vista с целью повышения общей безопасности компьютера. Теперь службы, которым полностью не нужны системные права, но необходимо выполнять определенные системные операции, могут быть запущены с пониженными правами, однако при этом им будет предоставлено определенное системное право, необходимое для их работы.

...

Примечание

Для получения сведений о службах, установленных в операционной системе, можно использовать класс Win32_Service, который принадлежит пространству имен root\ cimv2 и является производным от классов Win32_BaseService и CIM_Service. Например, он поддерживает следующие свойства: AcceptPause (определяет, разрешено ли приостанавливать работу службы), AcceptStop (указывает, разрешено ли останавливать работу службы), Description (содержит строку описания службы), Desktoplnteract (определяет, может ли служба взаимодействовать с Рабочим столом пользователя). DisplayName (указывает название службы), ErrorControl (определяет поведение операционной системы при возникновении ошибки во время запуска данной службы). Name (ключевое свойство, определяющее имя службы), PathName (указывает путь к исполняемому файлу службы), ProcessID (определяет PID процесса запущенной службы), Started (указывает, запущена ли служба в данный момент), StartName (определяет учетную запись, от имени которой запускается служба).

Класс также поддерживает следующие методы: Create (позволяет создать службу). Delete (позволяет удалить службу), Change (позволяет изменить настройки службы). ChangeStartMode (позволяет изменить режим запуска службы), InterrogateService (обновляет информацию о службе), PauseService (приостанавливает работу службы). ResumeService (продолжает работу службы), StartService (запускает работу службы). StopService (останавливает работу службы), UserControlService (посылает службе код управления).

Если вы знакомы с сервером инструментариев Windows (WMI), то, наверное, уже догадались, что параметр может хранить те же константы привилегий, что и сценарии WMI.

Некоторые параметры реестра , описывающие стандартные настройки службы, также хранятся в подразделе Parameters. К ним можно отнести два параметра: ServiceDll и ServiceDllUnloadOnStop. Первый имеет тип REG_EXPAND_SZ и определяет библиотеку, необходимую для работы данной службы. Второй же параметр имеет тип REGDWORD и определяет, будут ли выгружаться из оперативной памяти компьютера библиотеки, необходимые для работы данной службы, если сама служба была остановлена.

Кроме того, некоторые службы и драйверы хранят в своей ветви реестра подразделы Performance. В данных подразделах описывается библиотека, в которой находятся счетчики производительности соответствующей службы, а также индивидуальные параметры работы этих счетчиков. Например, в данной ветви реестра может находиться параметр REG_DWORD-типа Collect Timeout, определяющий таймаут, в течение которого счетчики должны выполнить задание и ответить на запрос состояния.

Настройки служб svchost

Как вы уже узнали, служба может работать как в собственном процессе, так и в одном из общих процессов. Это позволяет экономить ресурсы компьютера. Хотя при этом появляется другая проблема: если возникнет ошибка в работе одной из служб, то будет завершена работа общего процесса, а вместе с ним и всех служб, которые в нем работали.

Одним из общих процессов для запуска служб является процесс svchost.ехе (например, общим также является процесс services.ехе). Он также называется «универсальным» процессом. Одновременно в операционной системе может существовать несколько запущенных процессов svchost.ехе. При этом каждый из них содержит службы определенного типа (например, типа netsvcs). Данные типы служб указываются как параметр строки запуска службы, расположенной в параметре Image Path ветви службы.

Все службы, исполняемый файл которых является частью файла svchost.ехе, имеют несколько настраиваемых параметров, расположенных в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ Svchost.

Эта ветвь реестра хранит набор параметров строкового типа. Их значения определяют службы, исполняемый файл которых является частью файла svchost.ехе. Название же этих параметров определяет название дочернего подраздела ветви системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\ Svchost, в котором расположены настройки для этих служб. Название этих параметров также соответствуют записи SCM, под которой эти службы исполняются.

В этих подразделах могут находиться три параметра, имеющие тип REGDWORD, однако наиболее интересным из них является параметр Def aultRpcStackSize. Он определяет размер стека RPC, используемый соответствующими службами.

Основы работы драйверов

Как вы знаете, в ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services описываются не только установленные в операционной системе службы, но и драйверы. При этом драйверы описываются с помощью тех же основных параметров реестра , что и службы. Хотя значения, присваиваемые данным параметрам, могут отличаться. Так, например, параметр Туре для драйверов может использовать только значения 1, 2 и 4. А параметр Start – значения 0 и 1.

Изменить тип запуска драйверов можно не только с помощью реестра , но и с помощью оснастки Диспетчер устройств (devmgmt.msc). Для этого вам нужно сначала включить отображение скрытых устройств (в меню Вид установить флажок Показать скрытые устройства), после чего перейти к разделу дерева оснастки Драйверы несамонастраиваемых устройств. Данный раздел содержит список всех установленных в операционной системе драйверов, которые не поддерживают технологию Plug and Play. При этом если вы отобразите окно Свойства (с помощью одноименной команды контекстного меню) любого из этих драйверов и перейдете на вкладку Драйвер, то в поле Загрузка сможете изменить тип запуска соответствующего драйвера.

...

Примечание

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

Для создания данной системной переменной можно воспользоваться либо реестром (создать параметр строкового типа DEVMGR_SHOW_NONPRESENT_DEVICES в ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session 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_MACHINE\SYSTEM\CurrentControlSet\ Services\lanmanserver\parameters.

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

Команда изменяет значение параметра 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\<имя службы>. Рассмотрим назначение основных параметров данной команды.

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

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

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

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

Страницы: «« ... 1718192021222324 ... »»

Читать бесплатно другие книги:

Вы мечтаете о нежном цвете лица, желаете избавиться от морщин и дефектов, не прочь каждый день выгля...
Эта книга отличается от великого множества изданий на тему посещения храмов своей исключительной пра...
Эта книга стихов – одна из самых очаровательных в русской поэзии. Она позволит совершить фантастичес...
В этой книге читатель найдет интересную информацию об истории всех современных Олимпийских игр, вклю...
Монгольская империя. Она охватила практически всю Евразию, и лишь на территории Венгрии монголов ост...
Каждый огородник желает знать:• какие дни благоприятны для посева и посадок;• когда лучше всего боро...