Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf

ВУЗ: Не указан

Категория: Книга

Дисциплина: Операционные системы

Добавлен: 29.10.2018

Просмотров: 33045

Скачиваний: 742

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

PsTools 

Глава 6  197 

По умолчанию устанавливать пароли учетным записям домена могут 

только администраторы домена (Domain Admins) и операторы учетных за-
писей (Account Operators). Заметьте, что PsPasswd не принимает альтерна-
тивные учетные данные в случае с учетными записями домена; эту утилиту 
следует запускать с привилегиями, необходимыми для изменения целевого 
пароля. Чтобы установить пароль для локальной учетной записи, требуются 
администраторские права на целевом компьютере.

PsService

PsService отображает список и управляет службами Windows и драйверами 
на локальной или удаленной системе. Эта утилита во многом аналогична 
SC.EXE и некоторым функциям NET.EXE (обе эти утилиты входят в состав 
Windows), но является более гибкой и удобной в использовании. Например, 
службы можно указывать по имени, отображать имена, а в некоторых случаях 
выполнять сопоставление по частичному имени. Кроме того, PsService вклю-
чает уникальную возможность поиска служб, позволяющую искать экземпля-
ры службы в сети, а также службы, помеченные как «интерактивные».

При запуске без параметров PsService выводит информацию о состоянии 

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

PsService поддерживает следующие команды и параметры, которые бу-

дут подробно обсуждаться в этом разделе:
•  query [-g group] [-t {driver|service|interactive|all}] [-s {active|inactive|all}] 

[service]

•  config [service]
•  depend service
•  security service
•  find service [all]
•  setconfig service {auto|demand|disabled}
•  start service
•  stop service
•  restart service
•  pause service
•  cont service

Получить список этих параметров можно командой PsService /?. Команда 

PsService команда /? отображает синтаксис указанной команды, например, 
psservice query /?.

PsService явно не требует прав администратора для работы на локальном 

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

SIN_ch_06.indd   197

27.12.2011   14:19:52


background image

198  Часть 

II   

Работа с утилитами

вать по отдельности, разрешения, необходимые для локальной работы, могут 
различаться в зависимости от того, какие службы задействованы. Например, 
некоторые (на самом деле, немногие) службы предоставляют интерактивно-
му пользователю разрешение на запуск и остановку этой службы. Другой 
пример: команда psservice depend server показывает список служб, зависи-
мых от службы Server. Полученный список в Windows 7 будет различаться 
для администраторов и не администраторов, так как последним не разреше-
но считывать информацию о состоянии службы HomeGroup Listener, кото-
рая зависит от службы Server.

Query

Команда query отображает информацию о состоянии служб и драйверов це-
левой системы, используя гибкие критерии фильтрации. Для каждой подхо-
дящей службы или драйвера PsService показывает следующие сведения:
•  имя службы — внутреннее имя службы или драйвера. Это имя, которое 

требует большинство команд sc.exe;

•  отображаемое имя — имя, отображаемое в оснастке MMC Службы (Ser-

vices);

•  описание — текст описания, связанный со службой или драйвером;
•  группа — группа порядка загрузки, в которую входит служба, если ука-

зана;

•  тип — службы, работающие в пользовательском режиме, являются либо 

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

•  состояние — указывает, работает служба, остановлена, приостановлена 

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

•  код завершения Win32 — ноль указывает на нормальную работу и завер-

шение. Ненулевое значение указывает на стандартный код ошибки, со-
общенный службой. Значение 1066 указывает ошибку, специфичную для 
службы. Значение 1077 указывает, что служба не была запущена после 
последней загрузки, что нормально для многих служб;

•  код завершения, специфичный для службы — если Код завершения 

Win32 равен 1066 (0x42A), это значение указывает на код ошибки, специ-
фичный для службы; в противном случае оно не имеет смысла;

SIN_ch_06.indd   198

27.12.2011   14:19:52


background image

PsTools 

Глава 6  199 

•  контрольная точка — это значение, обычно равное нулю, периодически 

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

•  подсказка ожидания — время в миллисекундах, которое, как предполага-

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

Win32, настроенных на целевой системе, независимо от того, запущены они 
или нет. (Запуск PsService без параметров командной строки аналогичен 
выполнению команды psservice query.) Чтобы отобразить информацию об 
определенной службе или драйвере, укажите в конце командной строки со-
ответствующее имя. PsService сообщит информацию о состоянии всех служб 
и драйверов, имена служб или отображаемые имена которых частично или 
полностью соответствуют указанному имени. Например, команда psservice 
query ras выведет все службы и драйвера, имена которых начинаются с «ras» 
(сопоставление выполняется без учета регистра).

Можно продолжить фильтрацию результатов по типу и состоянию. 

Добавьте параметр –t и укажите driver, чтобы отображать только драйверы, 
service, чтобы отображать только службы Win32, interactive, чтобы отобра-
жать только службы Win32, для которых помечен флажок allow service to 
interact with desktop
 (разрешить службе взаимодействие с рабочим сто-
лом), или all, чтобы не фильтровать результаты по типу. Чтобы фильтровать 
результаты по активности служб и драйверов, добавьте параметр –s и ука-
жите active, inactive или all. Если в командной строке не указано имя служ-
бы, PsService по умолчанию будет отображать только службы Win32 и все 
состояния. Если имя службы указано, а параметр –t нет, будут отображаться 
службы и драйверы, соответствующие выбранным условиям.

 Примечание  Настоятельно рекомендуется не помечать службы как «интерактив-

ные». Такие службы уязвимы для атак с повышением привилегий и часто не работают 
в Windows Vista и выше, а также в ранних версиях Windows с быстрым переключе-
нием пользователей или другими службами терминалов. Команда psservice query –t 
interactive — простой способ выявления таких потенциально проблемных служб.

Чтобы получить список только тех служб и драйверов, которые входят 

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

Все эти параметры можно комбинировать. Приведенная ниже команда 

отображает информацию о состоянии драйверов ядра на удаленном ком-
пьютере, входящих в группу PnP Filter, которая не загружается, имеющих 
отображаемые имена или имена служб, начинающиеся с «bth».

psservice \\win7x86-vm query -g «pnp filter» -t driver -s inactive bth

SIN_ch_06.indd   199

27.12.2011   14:19:52


background image

200  Часть 

II   

Работа с утилитами

Config

Команда config отображает сведения о конфигурации служб и драйверов. 
При запуске без параметров эта команда показывает сведения о конфигу-
рации всех служб Win32, зарегистрированных на целевой системе. Если до-
бавить после команды config имя службы, PsService покажет все параметры 
конфигурации всех служб и драйверов, чьи имена начинаются с указанного 
текста. Например, команда psservice config ras отображает параметры кон-
фигурации всех служб и драйверов, чьи имена служб или отображаемые 
имена начинаются с «ras» (регистр не учитывается).

Команда config отображает следующую информацию:

•  имя службы — внутреннее имя службы или драйвера. Это имя указывает-

ся в большинстве команд sc.exe;

•  отображаемое имя — имя, отображаемое в оснастке MMC Службы (Ser-

vices);

•  описание — текст описания, связанный со службой или драйвером;
•  тип — указывает, как настроен элемент: как служба с собственным про-

цессом или как служба с общим процессом и помечен ли как «интерак-
тивный»; а если это драйвер, то настроен ли он как драйвер ядра или как 
драйвер файловой системы;

•  тип запуска — драйверы, загружающиеся при загрузке системы, могут 

быть помечены как запускаемые при загрузке или запускаемые системой; 
службы, загружающиеся при загрузке системы, могут быть помечены как 
запускаемые автоматически или запускаемые автоматически с задержкой. 
Пометка «demand-start» (запуск по запросу) или «manual start» (ручной 
запуск) указывает на то, что службы и драйверы могут запускаться при 
необходимости. Службы и драйверы с пометкой «Disabled» (отключен) 
не могут быть загружены;

•  контроль ошибок — указывает, что следует предпринять Windows, если 

службе или драйверу не удалось запуститься во время загрузки системы. 
Значения Ignore и Normal означают, что Windows будет продолжать за-
грузку системы, записав ошибку в журнал событий при значении Normal
При значениях Severe и Critical Windows выполняет перезапуск с ис-
пользованием последней корректной конфигурации. Если ошибка про-
исходит и в этом случае, то загрузка продолжается при значении Severe
но прекращается при значении Critical;

•  двоичное имя пути — показывает путь к исполняемому файлу, который 

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

•  группа порядка загрузки — имя группы порядка загрузки, в которую вхо-

дит служба или драйвер (пустое значение, если такой группы нет);

•  тег — для драйверов, запускаемых при загрузке и запускаемых системой, 

являющихся частью группы порядка загрузки, это уникальное значение 

SIN_ch_06.indd   200

27.12.2011   14:19:52


background image

PsTools 

Глава 6  201 

в группе, которое можно использовать для указания порядка загрузки в 
группе;

•  зависимости — службы или группы порядка загрузки, которые должны 

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

•  имя запуска службы — для служб это имя учетной записи, от имени кото-

рой служба запускается.

Depend

Команда depend показывает список служб и драйверов, имеющих прямые или 
косвенные зависимости от указанной службы. Например, команда psservice 
depend tdx показывает службы и драйверы, которые не могут быть запущены, 
если не загружен драйвер tdx (NetIO Legacy TDI Support Driver).

Команда depend показывает ту же информацию, что и команда query. Имя 

службы в командной строке psservice depend должно точно соответствовать 
имени службы или отображаемому имени зарегистрированной службы или 
драйвера. Для этой команды PsService не выполняет сопоставление по час-
тичному имени.

Чтобы посмотреть, от каких служб зависит определенная служба, ис-

пользуйте команду psservice config.

Security

Как можно догадаться, команда security отображает информацию о безопас-
ности указанной службы или драйвера. В частности, она показывает список 
избирательного контроля доступа (DACL) в удобочитаемом виде. Вместо 
того, чтобы использовать малопонятный язык определения дескрипторов 
безопасности (Security Descriptor Definition Language, SDDL), она выводит 
имена учетных записей, которым предоставлен или запрещен доступ, и со-
ответствующие им разрешения. 

Рис. 6-2.  Команда PsService security и эквивалентная команда SC.EXE

SIN_ch_06.indd   201

27.12.2011   14:19:52