Pskill exe что это
PsKill v1.16
By Mark Russinovich
Published: June 29, 2016
Download PsTools (2.7 MB)
Introduction
Windows NT/2000 does not come with a command-line ‘kill’ utility. You can get one in the Windows NT or Win2K Resource Kit, but the kit’s utility can only terminate processes on the local computer. PsKill is a kill utility that not only does what the Resource Kit’s version does, but can also kill processes on remote systems. You don’t even have to install a client on the target computer to use PsKill to terminate a remote process.
Installation
Just copy PsKill onto your executable path, and type pskill with command-line options defined below.
Using PsKill
See the September 2004 issue of Windows IT Pro Magazine for Mark’s article that covers advanced usage of PsKill.
Running PsKill with a process ID directs it to kill the process of that ID on the local computer. If you specify a process name PsKill will kill all processes that have that name.
Usage: pskill [- ] [-t] [\\computer [-u username] [-p password]]
PsKill Microsoft KB Article
This Microsoft KB article references PsKill:
Download PsTools (2.7 MB)
PsTools
PsKill is part of a growing kit of Sysinternals command-line tools that aid in the administration of local and remote systems named PsTools.
Runs on:
Утилиты пакета PStools.
    Быстрый переход к описанию утилит пакета:
psexec.exe [\\computer[,computer2[. ] | @file][-u user [-p psswd]][-s|-e][-i][-c [-f|-v]][-w directory][-d][-priority][-a n,n. ] cmd [arguments]
Microsoft Windows 2000 [Версия 5.00.2195]
(С) Корпорация Майкрософт, 1985-2000.
С:\WINNT\system32 >
    Теперь команды, вводимые с консоли этого окна будут выполняться на удаленном компьютере. Однако, не стоит запускать на выполнение программы, использующие графический интерфейс, взаимодействие с ними будет невозможно.
    Вы можете выполнить любую консольную команду на удаленном компьютере. Примеры:
    Учтите, что в таком режиме использования редактора реестра вы получаете права на создание, изменение и удаление даже таких ключей, которые доступны только процессам ядра.
psinfo [-h] [-s] [-d] [-c [-t delimiter]] [\\computer[,computer[. ]]|@file [-u Username [-p Password]]]
pskill [\\computer [-u username [-p password]]]
pslist.exe [-d][-m][-x][-t][-s [n] [-r n] [\\computer [-u username][-p password][name|pid]
psloggedon.exe [-l] [-d domain] [-x] [\\computername]
или psloggedon.exe [username]
    Например, выдать в файл otlup.txt информацию об отказе в доступе (событие c в журнале Security) на компьютере с адресом 192.168.0.25 за последние 7 дней:
pspasswd [\\[computer[,computer,[. ]|Domain]|@file] [-u Username [-p Password]]] Username [NewPassword]
psservice.exe [\\Computer [-u Username [-p Password]]]
pssuspend [-r] [\\RemoteComputer [-u Username [-p Password]]]
Примеры использования PSTools в командных файлах.
    В заключение добавлю, что для того, чтобы этот скрипт работал, PSlist.exe и PSkill.exe должны быть доступны в путях поиска исполняемых файлов, например в каталоге WINDOWS\system32. Пользователь, запускающий его, должен обладать правами администратора по отношению к сканируемым компьютерам. И, если текущий пользователь таковым не является, то в параметры запуска утилит PSlist.exe и PSkill.exe нужно добавить ключи, задающие имя пользователя и пароль.
Этот командный файл несложен, но на практике не всегда применим, особенно когда в диапазоне IP- адресов есть большое количество выключенных компьютеров. Время выполнения в этом случае может быть неприемлемо большим. Для решения проблемы можно использовать опрос компьютеров по списку, полученному из сетевого окружения. Пример использования подобного приема найдете в статье «Командные файлы».
Примеры использования утилиты PsShutdown в командных файлах можно найти в статье, посвященной планировщику NNcron.
    Веб-узел Sysinternals был создан в 1996 г. Марком Руссиновичем (Mark Russinovich) и Брюсом Когсвеллом (Bryce Cogswell) для размещения созданных ими усовершенствованных сервисных программ и технической информации, а в июле 2006 г. корпорация Microsoft приобрела компанию Sysinternals. Раздел Sysinternals в Microsoft TechNet. После этого события, утилиты PsTools при первом запуске требуют подтверждения лицензионного соглашения в графическом окне, что может вызвать некоторые неудобства в случае, когда нет возможности сделать это подтверждение, например, на удаленном компьютере. Для решения данной проблемы используйте запуск утилит с ключом /accepteula (хотя бы 1 раз) или создайте командный файл с нужными вам утилитами пакета и выполните его на используемом компьютере:
psexec.exe /accepteula
psfile.exe /accepteula
psgetsid.exe /accepteula
Psinfo.exe /accepteula
pskill.exe /accepteula
pslist.exe /accepteula
psloggedon.exe /accepteula
psloglist.exe /accepteula
pspasswd.exe /accepteula
psservice.exe /accepteula
psshutdown.exe /accepteula
pssuspend.exe /accepteula
.
PsTools — расширяем возможности командной строки Windows, часть 2
Продолжаем разбирать программы из пакета PsTools. Следующая интересная программа из списка — PsList, позволяющая просматривать запущенные процессы на удаленной или локальной машине.
Синтаксис программы выглядит следующим образом:
-d — показать информацию о потоках, выполняемых процессом (thread details);
-m — показать информацию об использовании памяти;
-x — отобразить все вышеперечисленное;
-t — показать только дерево процессов;
-s [n] — запуск в режиме диспетчера задач, каждые n секунд. По умолчанию интервал равен 1 сек. Для завершения нажмите esc;
-r n — время обновления экрана в режиме диспетчера задач. По умолчанию интервал равен 1 сек;
computer — имя или IP-адрес компьютера. Если параметр не указан, команда запустится на локальном компьютере;
-u — имя пользователя. Если не указано, то будет выполнено из-под текущего пользователя;
-p — пароль. Если не указан, то будет запрошен при выполнении;
name — показать информацию только о конкретном процессе. Если есть несколько процессов с одинаковым именем, то будет выдана информация обо всех процессах. Можно задать часть имени, тогда отобразятся все процессы, названия которых начинаются с соответствующих символов;
-e — показать информацию о процессе, чьё имя точно соответствует введенной строке;
pid — показать информацию о процессе с идентификатором pid.
Пример использования программы PsList
Расшифруем названия столбцов, выдаваемых PsList. Часть из них можно наблюдать на скриншоте.
Name — имя процесса;
Pid — идентификатор процесса;
Pri — приоритет;
Thd — количество потоков;
Hnd — количество дескрипторов;
VM — виртуальная память;
WS — рабочий набор;
Priv — собственная виртуальная память;
Priv Pk — максимальный объем собственной виртуальной памяти;
Faults — ошибки страниц;
NonP — невыгружаемый пул;
Page — выгружаемый пул;
Cswtch — переключения контекста.
Вторая утилита есть прямое продолжение первой. PsKill позволяет принудительно завершать процессы на удаленной или локальной машине.
pskill [- ] [-t] [\\computer [-u username] [-p password]]
— — выводит перечень допустимых параметров;
-t — завершает процесс и все дочерние процессы;
computer — имя или IP-адрес компьютера. Если параметр не указан, команда запустится на локальном компьютере;
-u — имя пользователя. Если не указано, то будет выполнено из-под текущего пользователя;
-p — пароль. Если не указан, то будет запрошен при выполнении;
process ID or name — имя или идентификатор процесса. Если указать имя, то будут завершены все процессы с таким именем.
завершает процесс встроенного калькулятора в Windows.
То же самое, только на удаленной машине CompName :
Перечисленные утилиты это далеко не полный перечень полезных программ из PsTools. Безусловно, имеет смысл вернуться к этой теме в дальнейшем.
PsList и PsKill
Бесплатные инструменты для подготовки списков и удаленного завершения процессов
PsList
Существует несколько запускаемых из командной строки утилит для подготовки списков процессов в системах на базе NT, каждая со своими возможностями. Например, Tlist поставляется вместе с пакетом Support Tools for Windows 2000, а также Debugging Tools for Windows Server 2003 и Windows XP, но не располагает функциями удаленного запуска и выдает ограниченную информацию о процессе. Инструмент Tasklist поставляется в составе XP. Он выдает больше информации и работает дистанционно, но несовместим с NT и Windows 2000. Несколько инструментов имеется в комплектах ресурсов Windows 2003 и Windows 2000, но им свойственны такие же недостатки.
Если запустить PsList без параметров настройки, система выдаст список активных процессов со статистическими данными для каждого из них. На экране 2, слева направо, приведены ID процесса, приоритет, число потоков, число дескрипторов, выделенный размер частной виртуальной памяти, занимаемое время процессора, время работы. Слишком большое количество дескрипторов, увеличенный размер частной виртуальной памяти или длительное время работы процессора могут указывать на некорректное выполнение программы. Время запуска процесса поможет связать процесс с его причиной, например с регистрацией пользователя.
Утечка памяти почти всегда происходит из-за того, что процесс занимает и не освобождает частную виртуальную память; данный ресурс должен сохраняться в страничном файле и потому конечен. У процессов, допускающих утечку, размер частной виртуальной памяти, как правило, постоянно растет, а размер потребляемой памяти почти всегда находится вблизи значения выделенной памяти. Назначаемый по умолчанию размер памяти Task Manager характеризует физическую память, потребляемую процессом (не виртуальную память), и не дает правильного представления об утечке памяти.
Динамическое обновление
Чтобы вычислить коэффициент использования процессора, двух секунд достаточно. Если переслать результаты команды в файл для архивирования, то в нем появятся два «моментальных снимка» процесса; второй «моментальный снимок» показывает список процессов, упорядоченный по коэффициенту использования центрального процессора.
Поиск процесса
Наряду с другими параметрами командной строки PsList можно указать имя или ID процесса. Например, если есть подозрения, что процесс с именем Leakyapp допускает утечку памяти, можно ввести команду
pslist emote s leakyapp
и наблюдать за изменениями в выделяемой процессу частной виртуальной памяти. Особенностями поведения PsList в отношении процессов можно воспользоваться, чтобы составить командные файлы, которые выполняют операции в зависимости от того, активен ли процесс: PsList выдает код ошибки 0, если обнаруживает процесс, имя или ID которого совпадают с указанными пользователем; в противном случае выдается код ошибки 1.
Как работает PsList
Мне нужно, чтобы PsList работал с NT 4.0, поэтому инструмент не может использовать Windows Management Instrumentation (WMI) так же, как Tasklist. PsList работает с Performance API, тем же самым API, который используется инструментом Performance Monitor. Performance API поддерживает удаленный интерфейс управления, поэтому PsList не требует установки специального программного обеспечения на контролируемых удаленных машинах. К сожалению, с помощью Performance API не удается собрать всю информацию, доступную через WMI, и, в отличие от Tasklist, PsList не может получить имя учетной записи, с которой запущен процесс, или список DLL, загруженных в процесс.
PsKill
Часто при просмотре активных процессов у администратора возникает желание остановить какой-нибудь из них. Это можно сделать с помощью утилиты PsKill. Инструмент получает имя или ID процесса и завершает все соответствующие этому условию процессы на указанной машине.
Поделитесь материалом с коллегами и друзьями
Использование PsTools для управления другими ПК из командной строки
На сегодняшнем уроке из серии Geek School, посвященной SysInternals, мы покажем вам, как использовать набор утилит PsTools для выполнения всех видов задач администрирования как локально, так и на удаленных компьютерах.
Если вы когда-нибудь хотели подключиться к другому компьютеру и запустить команду, быстро получить информацию о запущенных процессах и, возможно, завершить их, или даже остановить службу на другом ПК, вы можете использовать утилиты PsTools для выполнения всех этих задач и даже Больше.
Очевидно, что вы можете использовать удаленный рабочий стол или аналогичную службу для подключения к любому компьютеру с Windows и фактически видеть рабочий стол и делать все, что вы будете делать локально, но утилиты PsTools позволяют вам выполнять множество задач из командной строки — или, что еще лучше, из скрипт, который вы можете использовать позже.
Это тот тип утилит, который лучше всего работает в корпоративной среде, и овладение этими инструментами определенно сделает вас намного лучше в работе по системному администрированию, сэкономит ваше время и позволит вам делать вещи намного умнее. Делать вещи умнее и быстрее — это важный навык для того, чтобы быть отличным сисадмином.
В наборе PsTools есть двенадцать инструментов, и хотя некоторые из них чрезвычайно полезны, другие были заменены инструментами, встроенными в более поздние версии Windows, и есть несколько других, которые бесполезны для большинства людей. Мы рассмотрим все из них, чтобы вы поняли, как они работают и почему вы можете захотеть использовать каждый из них.
Стоит отметить, что вы можете использовать такой инструмент, как PsExec, для запуска всех видов утилит командной строки на удаленных компьютерах, включая действительно полезные, такие как инструмент командной строки Autoruns и многие другие. Возможности безграничны, когда вы освоите мощь PsTools.
Все эти инструменты можно использовать на локальных компьютерах, но они в основном полезны для подключения к удаленным компьютерам и выполнения команд на них.
Подключение к удаленным компьютерам (синтаксис для всех утилит)
Все утилиты могут быть запущены как на локальном, так и на удаленном компьютере, поэтому при необходимости все они имеют один и тот же первый аргумент для имени компьютера. Обратите внимание, что вы можете использовать IP-адрес, если хотите вместо этого. Если вы пропустите этот аргумент, команда будет работать на вашем локальном компьютере.
Вы также можете перечислить несколько компьютеров, таких как psinfo \\ computer1, computer2, computer3, или вы можете поместить все имена в файл и указать ссылку, например psinfo @ computerlist.txt. Последний синтаксис psinfo \\ *, который работает на всех компьютерах в домене, что, вероятно, не то, что вы будете использовать каждый день.
Часть «user» команды изменится на «DOMAIN \ user», если вы находитесь в доменной среде и вам нужно перейти от текущего работающего пользователя.
Примечание. Обычно вам необходимо подключаться к удаленным компьютерам с учетной записью администратора.
Настройка доступа к удаленному администрированию
Если вы находитесь в доменной среде, которой будет пользоваться большинство людей, которым необходимо использовать PsTools, вы можете полностью игнорировать этот раздел, поскольку все должно работать нормально. Для тех, кто работает под управлением Windows 7, 8 или Vista в домашней среде или использует несколько компьютеров в офисе без домена, вам потребуется настроить контроль учетных записей на удаленном компьютере, чтобы PsTools работал правильно.
Чтобы объяснить это по-другому, когда вы пытаетесь подключиться к другому компьютеру и запустить что-то, требующее доступа администратора, нет способа вызвать приглашение UAC и принять его с вашего компьютера, поэтому он не будет подключаться как администратор.
И это не плохо. Вы не должны изменять этот параметр, не понимая полностью, что вы разрешите распространению вредоносного ПО с одного компьютера на другой — при условии, что вредоносное ПО имеет ваше локальное имя пользователя и пароль, и тот же пароль, что и на другом компьютере, и Вредоносные программы — это хитрость, а большинство — нет. Но все же это не то, что нужно воспринимать легкомысленно
И снова, если вы находитесь в доменной среде, эта проблема не существует и не нуждается в изменении. И если вы просто тестируете с кучей виртуальных машин, вам не о чем беспокоиться.
Чтобы настроить UAC для запуска PsTools, вам нужно открыть редактор реестра и перейти к следующему ключу:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \
Windows \ CurrentVersion \ Policies \ System
Когда вы окажетесь там, создайте новый 32-битный DWORD с правой стороны, присвойте ему имя LocalAccountTokenFilterPolicy и значение 1. Вам не нужно перезагружать компьютер, чтобы настройки вступили в силу.
Примечание: просто чтобы уточнить, этот параметр должен произойти на удаленном компьютере, к которому вы подключаетесь.
PsExec
PsExec, вероятно, является самым мощным инструментом в наборе, так как вы можете выполнить любую команду в локальной командной строке так же, как и на удаленном компьютере. Это включает в себя все, что можно запустить из командной строки — вы можете изменить параметры реестра, запустить сценарии и утилиты или подключиться с этого компьютера к другому. Вывод команд будет показан на вашем локальном ПК, а не на удаленном.
psexec \\ computername apptorun.exe
Реально, однако, вы бы хотели также включить имя пользователя и пароль в командной строке. Например, чтобы подключиться к другому компьютеру и проверить список сетевых подключений, вы должны использовать что-то вроде этого:
Эта команда выдаст вывод, подобный следующему:
Если вы хотите передать> или | символ через соединение PsExec с удаленным компьютером, вам нужно будет использовать символ ^, который является малоизвестным escape-символом в командной оболочке Windows. Это, конечно, означает, что нам на самом деле нужно будет использовать командную оболочку на удаленном компьютере, а не просто запустить процесс, поэтому мы можем в первую очередь выполнить перенаправление или конвейер. Таким образом, наша команда выглядит следующим образом (изменение пути к домашнему каталогу, в котором у нас есть права на запись).
В этом примере список открытых подключений, сгенерированных netstat, помещается в домашний каталог пользователя на удаленном компьютере в файл с именем connections.txt.
Копирование программ на удаленный компьютер
Есть несколько других опций, которые определяют, будет ли приложение всегда копироваться, или его следует копировать, если локальное приложение имеет более высокую версию, чем удаленное. Вы можете просто запустить psexec из командной строки, чтобы увидеть эти опции.
Примечание. Если команда доступна только в командной строке, перед ней необходимо добавить cmd / c. Это включает в себя трубы и перенаправления, как | и>.
Взаимодействие с зарегистрированным пользователем на удаленном ПК
Если вам интересно, да, это даст вам доступ ко многим вещам, которые вы обычно не имеете права редактировать в реестре. И да, это действительно плохая идея.
Запуск полной командной строки через PsExec
Да, мы только что показали вам все эти примеры того, как выполнить одну команду через PsExec… и оказалось, что вы можете запустить полную оболочку на локальном компьютере, которая фактически работает на удаленном компьютере. Это как если бы вы были на консоли этого сервера (по большей части). И, к счастью, синтаксис для этого очень прост (добавьте имя пользователя, если вам нужно).
После этого у вас будет командная строка, которая теперь запущена на удаленном ПК.
Командная строка будет работать почти так же, как обычно, за исключением того, что завершение табуляции не будет работать вообще, но это нас устраивает.
Другие опции
Если вы просто запустите команду psexec из командной строки без каких-либо дополнительных ключей, вы увидите их все.
PsFile
Эта команда показывает файлы, которые в данный момент открыты по сети на локальном или удаленном ПК, и работает аналогично команде Windows «net file». Синтаксис такой же, как и любая другая команда в наборе.
Да, этот не такой веселый, как последний.
PsGetSid
Это отображает идентификатор безопасности для компьютера или пользователя и принимает стандартные аргументы. Эта утилита, вероятно, полезна только в очень специфических сценариях, с которыми мы лично не сталкивались. Так что попробуйте один раз и забудьте об этом, пока вам не понадобится когда-нибудь.
PsInfo
Эта команда перечисляет много полезной информации о системе, включая время работы, что очень весело. Вы можете запустить его локально, чтобы протестировать его, просто набрав psinfo в командной строке, предполагая, что ваши инструменты SysInternals находятся в пути.
Это дает намного больше информации, даже на почти пустой виртуальной машине:
Вы также можете запустить PsInfo удаленно, добавив имя компьютера и, возможно, имя пользователя переключается … но есть одна большая проблема: он не будет работать, если не включена служба удаленного реестра. Перейдите в конец статьи, где мы поговорим о том, как включить его на удаленном компьютере.
PsKill
Проблема с PsKill состоит в том, что в последних версиях Windows есть очень мощная утилита для уничтожения задач, встроенная прямо в систему под названием Taskkill, которая имеет гораздо больше функций.
PsList
Эта утилита очень проста, но довольно удобна для быстрого просмотра компьютера и определения, использует ли он слишком много ресурсов процессора или памяти. Вы можете указать имя или часть имени в командной строке, чтобы сузить список до проблемного приложения, и вы сможете увидеть почти всю информацию, включая потоки.
Примечание. Чтобы эта утилита работала на удаленном компьютере, вам нужно включить удаленную службу реестра. Обязательно прочитайте до конца урока, поскольку мы объясним, как с этим справиться позже.
PsLoggedOn
Эта утилита выводит список учетных записей, которые вошли в систему на компьютере или подключены удаленно. Это довольно просто и в значительной степени полезно в среде системного администратора.
PsLogList
Эта утилита отображает локальный или удаленный журнал событий в командной строке, и существует ряд опций, которые можно использовать для фильтрации данных.
psloglist \\ Компьютерная система
Стоит отметить, что если у вас есть доступ администратора к другому компьютеру, вы можете просто открыть Event Viewer и выбрать Connect из меню Action. Введите имя компьютера в списке, измените учетные данные, если вам нужно, и получите доступ к журналам событий таким образом.
Единственный сценарий, в котором мы действительно можем увидеть, что PsLogList действительно полезен, — это если вы хотите написать сценарий для выполнения действия в случае определенных сообщений в журнале событий.
PsPasswd
Эта утилита позволяет менять пароли для пользователей, как локальных, так и удаленных. Синтаксис такой же, как и все остальное:
Преимущество этой утилиты по сравнению с использованием NET USER из обычной командной строки заключается в том, что вы можете менять пароли для нескольких компьютеров одновременно, и она работает и в доменной среде.
PsPing
Эта утилита пингует, проверяет порты и выполняет тестирование задержки и пропускной способности. Довольно просто
Или вы можете проверить подключение к порту, добавив номер порта следующим образом:
У этой команды есть множество дополнительных параметров, которые вы, вероятно, захотите проверить, если вам понадобится устранить неполадки в сети.
PsService
Эта утилита позволяет вам иметь дело со службами Windows из командной строки. Это действительно довольно легко использовать — синтаксис работает так:
Список команд можно найти, посмотрев на справку /? вариантов, но есть несколько вариантов, которые вы найдете больше, чем остальные.
В частности, начало | остановить | пауза | перезапустить | Опции cont действительно просты и понятны. Например, в следующей команде вы можете заменить «запуск» любой из этих других команд.
Другие параметры можно использовать для запроса дополнительной информации об услуге или изменения конфигурации.
Примечание: встроенная утилита sc.exe имеет массу полезных функций, которые перекрываются с этой утилитой. Основное отличие заключается в том, что PsService немного более удобна для пользователя.
PsShutdown
Эта утилита позволяет выключить, выйти из системы или даже перевести компьютер в спящий режим. Проблема в том, что она не лучше встроенной утилиты shutdown.exe и фактически была разработана для Windows XP, поэтому в большинстве случаев рекомендуется использовать встроенную утилиту.
Единственная опция, которую PsShutdown предоставляет, которую вы не можете получить иным способом, — это ключ (-d) для перевода компьютера в спящий режим, что может быть удобно.
PsSuspend
Эта утилита очень похожа на PsKill, но она делает то, чего не может встроенная утилита Taskkill — вы можете приостанавливать процессы, а не уничтожать их, что может быть очень удобно, если вы хотите временно остановить процесс, интенсивно использующий процессор, из работает, пока вы выполняете задачу системного администратора.
Приостановить процесс очень легко:
Когда утилиты не подключаются из-за удаленного реестра
Некоторые из этих утилит, включая PsInfo, PsList, PsLogList и PsLoggedOn, требуют, чтобы удаленная служба реестра была включена на удаленном компьютере, и она не включена по умолчанию в современных версиях Windows.
Хорошей новостью является то, что эту проблему легко устранить, и вам не нужно оставлять включенный удаленный реестр. Просто запустите эту команду, используя PsService, чтобы запустить службу:
psservice \\ computername start RemoteRegistry
И затем, когда вы закончите с тем, что вы делаете с PsInfo или PsList, вы можете снова остановить службу, используя эту команду:
psservice \\ computername stop RemoteRegistry
Простые решения — лучшие, не так ли?
Следующий урок
Обязательно присоединяйтесь к нам завтра, когда мы расскажем о файловых и дисковых утилитах и еще нескольких интересных вещах.