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

PsTools
Глава 6 207
PsSuspend
PsSuspend позволяет приостанавливать процессы на локальной или уда-
ленной системе. Это может быть полезно, если процесс потребляет ресур-
сы (например, процессорное время), которые нужно предоставить другому
процессу. Чтобы не завершать такой процесс, можно приостановить его, а
позже возобновить его работу. Это также удобно при поиске и удалении вре-
доносного ПО, у которого несколько процессов, следящих за завершением
друг друга.
Чтобы приостановить один процесс, укажите его идентификатор (PID) в
командной строке PsSuspend. Можно указать имя процесса, чтобы приоста-
новить все процессы с таким именем. Чтобы возобновить работу процесса,
используйте параметр –r.
Каждый поток в процессе имеет счетчик пауз, так что каждый вызов API
SuspendThread должен быть сопоставлен с вызовом ResumeThread, прежде
чем поток сможет возобновить работу. PsSuspend сохраняет счет пауз по-
токов процесса. Это нужно, чтобы потоки, которые уже были в паузе, когда
процесс приостанавливается при помощи PsSuspend, остались в паузе, когда
работа процесса будет возобновлена. Если запустить PsSuspend с параме-
тром –r для процесса, который не приостановлен, но имеет приостановлен-
ные потоки, счет приостановок этих потоков будет уменьшен, и если счет
станет равным нулю, потоки возобновят работу. Программы, приостанавли-
вающие свои потоки, скорее всего, имеют на то причины, так что следует
внимательно относиться к «возобновлению» процессов, которые вы не при-
останавливали.
Синтаксис командной строки PsTools
В этом разделе приведен синтаксис командной строки всех утилит PsTools.
Так как синтаксис удаленного выполнения операций одинаков для всех ути-
лит, покажем его отдельно, а не для каждой утилиты. Синтаксис указания
нескольких компьютеров (УдаленныеКомпьютеры) применим ко всем ути-
литам, которые могут выполняться на нескольких компьютерах; синтаксис
вида УдаленныйКомпьютер применим к утилитам, которые могут выпол-
няться только на одном удаленном компьютере.
УдаленныеКомпьютеры = \\компьютер[,компьютер2[,...]] | \\* | @файл [-u имя_
пользователя [-p пароль]]
УдаленныйКомпьютер = \\компьютер [-u имя_пользователя [-p пароль]]
PsExec
psexec [УдаленныеКомпьютеры] [-d] [-background|-low|-belownormal|-
abovenormal|-high|-realtime] [-a n[,n[,...]]] [-c [-f|-v]] [-n секунды]
SIN_ch_06.indd 207
27.12.2011 14:19:52

208 Часть
II
Работа с утилитами
[-s|-e] [-i [сеанс]] [-x] [-w каталог] [-h] [-l] [-u имя_пользователя [-p
пароль]] команда [аргументы]
В отличие от других утилиты, PsExec поддерживает использование пара-
метров –u и –p для удаленного и локального выполнения операций.
PsFile
psfile [УдаленныйКомпьютер] [[Id | путь] [-c]]
PsGetSid
psgetsid [УдаленныеКомпьютеры] [имя | SID]
PsInfo
psinfo [УдаленныеКомпьютеры] [-h] [-s] [-d] [-c [-t разделитель]] [поле]
PsKill
pskill [УдаленныйКомпьютер] [-t] {PID | имя}
PsList
pslist [УдаленныйКомпьютер] [[-t] | [[-m] [-d] [-x]]] [-s [n] [-r n]] [имя | PID]
PsLoggedOn
psloggedon [\\компьютер | \\*] [-l] [-x]
PsLogList
psloglist [УдаленныеКомпьютеры] [-s [-t разделитель] | -x] [-n #] [-r] [-w]
[-a мм/дд/гггг] [-b мм/дд/гггг] [-d #|-h #|-m #] [-f фильтр]
[-i ID[,ID[,...]] | -e ID[,ID[,...]]]
[-o источник[,источник[,...]] | -q источник[,источник[,...]]]
[-z] [-c] [-g имя_файла | -l имя_файла] [журнал_событий]
PsPasswd
Для локальных учетных записей:
pspasswd [УдаленныеКомпьютеры] ЛокальнаяУчетнаяЗапись [НовыйПароль]
Для учетных записей домена:
pspasswd Домен\УчетнаяЗапись [НовыйПароль]
SIN_ch_06.indd 208
27.12.2011 14:19:52

PsTools
Глава 6 209
PsService
psservice [УдаленныйКомпьютер] [команда [параметры]]
PsService поддерживает следующие команды и параметры:
query [-g группа] [-t {driver|service|interactive|all}] [-s
{active|inactive|all}] [служба]
config [служба]
depend служба
security служба
find служба [all]
setconfig служба {auto|demand|disabled}
start служба
stop служба
restart служба
pause служба
cont служба
PsShutdown
psshutdown [УдаленныеКомпьютеры] {-s|-k|-r|-h|-d|-l|-o|-a} [-f] [-c]
[-t [секунды|чч:мм]] [-v секунды] [-e [u|p] :xx:yy] [-m “сообщение»] [-n
секунды]
PsSuspend
pssuspend [УдаленныйКомпьютер] [-r] {PID|имя}
Системные требования PsTools
В табл. 6-4 перечислены требования каждой из утилит PsTools для локаль-
ного и удаленного выполнения операций.
Табл. 6-4. Системные требования PsTools
Утилита
Локальные
операции
Удаленные
операции
Требуются
администраторские
права на локальной
системе
Требуется
общая папка
Admin$
на удаленной
системе
Требуется
служба
Remote-
Registry
Поддерживает
указание имен
нескольких
компьютеров
PsExec
Зависит от коман-
ды и параметров
Да
Нет
Да
PsFile
Да
Нет
Нет
Нет
PsGetSid
Нет
Да
Нет
Да
SIN_ch_06.indd 209
27.12.2011 14:19:53

210 Часть
II
Работа с утилитами
Табл. 6-4. (окончание)
Утилита
Локальные
операции
Удаленные
операции
PsInfo
Нет
Да
Да
Да
PsKill
Зависит от
целевого процесса
Да
Нет
Нет
PsList
Нет
Да
Да
Нет
PsLogged-
On
Нет
Нет
Да
(Может ска-
нировать сеть)
PsLogList
Зависит от опе-
рации и целевого
журнала
Да
Да
Да
PsPasswd
Да
Нет
Нет
Да (для лока-
льных учетных
записей)
PsService
Зависит от опера-
ции и службы
Нет
Нет
Нет (но пара-
метр find
может скани-
ровать сеть)
PsShut-
down
Да
Да
Нет
Да
PsSuspend
Зависит от целе-
вого процесса
Да
Нет
Нет
SIN_ch_06.indd 210
27.12.2011 14:19:53

Глава 7
Утилиты для работы с процессами
и диагностики
Утилиты Process Explorer и Process Monitor (см. главы 3 и 4) — основные
утилиты для анализа поведения и динамики состояния процессов и систе-
мы в целом. В этой главе мы рассмотрим шесть дополнительных утилит
Sysinternals, позволяющих просматривать сведения о состоянии процесса:
• VMMap — утилита с графическим интерфейсом, показывает информа-
цию об использовании процессом виртуальной и физической памяти;
• ProcDump — консольная утилита, генерирующая дамп памяти процесса
с заданным характеристиками, например, процесса резко увеличившего
потребление ресурсов процессора или «зависшего»;
• DebugView — утилита с графическим интерфейсом, позволяющая про-
сматривать вывод отладчиков, работающих в режиме пользователя или
режиме ядра на локальном или удаленном компьютере;
• LiveKd — утилита, позволяющая запускать стандартный отладчик ядра
на моментальном снимке работающей локальной системы без необходи-
мости перезагружаться в режиме отладки;
• ListDlls — консольная утилита, отображающая информацию о загружен-
ных библиотеках DLL;
• Handle — консольная утилита, отображающая информацию об описате-
лях объектов, используемых системными процессами.
VMMap
VMMap — утилита для анализа виртуальной и физической памяти, исполь-
зуемой процессом (рис. 7-1). Она показывает в графическом и табличном
виде общие сведения о различных типах памяти, выделенных процессу, а
также подробные карты распределения виртуальной памяти, отображая та-
кие характеристики, как резервные файлы и типы защиты. VMMap также
показывает сводную и подробную информацию о размере физической па-
мяти (рабочего набора), связанного операционной системой c различными
блоками виртуальной памяти.
SIN_ch_07.indd 211
27.12.2011 14:30:19