Введение
Наборы ресурсов Windows NT и Windows 2000 поставляются с рядом средств командной строки, которые помогают администрировать системы Windows NT/2K.
Со временем я выращивал коллекцию похожих инструментов, в том числе некоторые из них, не включенные в наборы ресурсов. Эти средства отличаются тем, что все они позволяют управлять удаленными системами, а также локальными. Первым инструментом в наборе был PsList, инструмент, который позволяет просматривать подробные сведения о процессах, и набор постоянно растет. Префикс Ps в PsList связан с тем, что стандартное средство командной строки списка процессов UNIX называется ps, поэтому я принял этот префикс для всех средств, чтобы связать их с набором инструментов с именем PsTools.
Примечание
Некоторые антивирусные сканеры сообщают, что один или несколько средств заражены вирусом удаленного администратора. Ни один из psTools не содержит вирусов, но они использовались вирусами, поэтому они активируют уведомления о вирусах.
Средства, включенные в набор PsTools , которые можно скачать в виде пакета, являются следующими:
- PsExec — удаленное выполнение процессов
- PsFile — показывает файлы, открытые удаленно
- PsGetSid — отображение идентификатора безопасности компьютера или пользователя
- PsInfo — список сведений о системе
- PsPing — измерение производительности сети
- PsKill — удаление процессов по имени или идентификатору процесса
- PsList — список подробных сведений о процессах
- PsLoggedOn — узнайте, кто вошел в систему локально и через общий доступ к ресурсам (включен полный источник).
- PsLogList — записи журнала событий дампа
- PsPasswd — изменение паролей учетных записей
- PsService — просмотр и управление службами
- PsShutdown — завершает работу и при необходимости перезагружает компьютер.
- PsSuspend — приостановка процессов
- PsUptime — показывает, сколько времени работает система с момента последней перезагрузки (функциональные возможности PsUptime были включены в PsInfo
Пакет загрузки PsTools содержит HTML-файл справки с полными сведениями об использовании для всех средств.
Скачать PsTools Suite(3,9 МБ)
Выполняется в:
- Клиент: Windows 8.1 и выше
- Сервер: Windows Server 2012 и выше
- Nano Server: 2016 и более поздние версии
Установка
Ни один из средств не требует специальной установки. Вам даже не нужно устанавливать клиентское программное обеспечение на удаленных компьютерах, на которых они предназначены. Запустите их, введя имя и любые нужные параметры командной строки. Чтобы отобразить полные сведения об использовании, укажите «-? » параметр командной строки.
Если у вас возникли вопросы или проблемы, посетите форум Sysinternals PsTools.
Использование
Дескриптор предназначен для поиска открытых ссылок на файлы, поэтому, если не указать параметры командной строки, будут перечислены значения всех дескрипторов в системе, ссылающихся на открытые файлы, и имена файлов. Он также принимает несколько параметров, которые изменяют это поведение.
Использования:
Параметр | Описание |
---|---|
-a | Дамп сведений обо всех типах дескрипторов, а не только о тех, которые ссылаются на файлы. К другим типам относятся порты, разделы реестра, примитивы синхронизации, потоки и процессы. |
-l | Просто показывать дескрипторы разделов с поддержкой файла подкачки. |
-c | Закрывает указанный дескриптор (интерпретируется как шестнадцатеричное число). Процесс необходимо указать по его PID.ПРЕДУПРЕЖДЕНИЕ: Закрытие дескрипторов может привести к нестабильной работе приложения или системы. |
-g | Доступ на печать предоставлен. |
-Y | Не запрашивайте подтверждение закрытия дескриптора. |
-s | Число распечаток каждого типа открытых дескрипторов. |
-u | Отображение имени пользователя-хладатора при поиске дескрипторов. |
-v | Выходные данные CSV с разделителями-запятыми. |
-Vt | Выходные данные CSV с разделителем табуляции. |
-p | Вместо проверки всех дескрипторов в системе этот параметр сужает сканирование Handle до тех процессов, которые начинаются с процесса имени. Таким образом:handle -p exp создает дамп открытых файлов для всех процессов, которые начинаются с «exp», в том числе проводника. |
name | Этот параметр присутствует, чтобы вы могли направить Handle на поиск ссылок на объект с определенным именем. Например, если вы хотите узнать, какой процесс (при наличии) открыт «c:\windows\system32», можно ввести:дескриптор windows\systemИмя не учитывает регистр, а указанный фрагмент может находиться в любом месте в интересующих вас путях. |
Killing a Remote Windows Process with PowerShell
PowerShell gives you a couple of options for killing remote processes; the first cmdlet cannot natively kill a remote process, as it does not have an option to specify a computer name. But, you can get around this issue by running remotely via PowerShell Remoting.
1. If your host and remote server are not in an Active Directory domain, first provide a username and password, creating a PSCredential object.
Setting up credentials
2. Next, since the tutorial will use SSL to connect to the remote computer and use a self-signed certificate, create a PSSessionOption that will skip the certificate check for a trusted certificate authority.
3. Now, connect to the server with the command, which establishes an interactive session to the remote server.
The command below is connecting to the computer using the username and password provided above (), skipping the certification authority check (), and connecting via SSL ().
Using Enter-PsSession for an interactive session
4. Once you’re connected to the remote host, check the process you want to kill by running . In this case, you’ll see the process.
Output of Get-Process
5. To kill this process, run , as shown below.
6. Finally, confirm you’ve killed the process by rerunning , and you should receive an error message.
Checking for Notepad as a running process
Как включить учётную запись администратора
В моих тестах на последних Windows 10 и Windows Server 2019 команда PsExec работает только с учётной записью Администратор. Поэтому в этом разделе описано, как активировать пользователя Администратор, который по умолчанию присутствует в Windows, но в обычных, не серверных версиях, этот пользователь отключён.
Пользователя Администратор должен быть активен только на удалённом компьютере, где будут выполняться команды с помощью PsExec. На локальном компьютере учётная запись Администратор не требуется.
1. Нажмите клавиши Win+r, чтобы открыть окно запуска команды.
2. Введите lusrmgr.msc и нажмите Enter.
3. Откройте Пользователи.
4. Щёлкните правой кнопкой мыши Администратор и выберите Свойства.
5. Снимите флажок «Отключить учётную запись» и нажмите ОК.
6. Снова щёлкните правой кнопкой мыши учётную запись администратора и выберите «Задать пароль».
7. Укажите пароль для учётной записи администратора и нажмите «ОК».
Killing Remote Windows Processes with TaskKill by Name
The taskkill utility is native to Windows and includes further command-line options for restarting processes by username and application name. Let’s get started and kill Notepad again!
Kill Process by Name
1. On your remote server, open Notepad; Notepad is the process you will kill in this demonstration; you can, of course, substitute another process.
2. Open a PowerShell session or command prompt on your desktop. Typing the following command will kill notepad.exe
The output is shown below:
/IM is the parameter for Image; in this case, it is notepad.exe
The output of taskkill command
3. To confirm the process is stopped, run . You should now see no tasks are matching that filter.
Output of tasklist using imagename
Что нужно для PsExec
Для работы PsExec на удалённом компьютере не требуется никакого программного обеспечения — то есть на компьютере, которым вы будете управлять, не нужно устанавливать никакую клиентскую часть. Но нужно соблюдение некоторых условий, чтобы PsExec работала, поэтому если первая попытка не удалась, то проверьте следующие требования.
1. На обеих машинах, т.е. удалённом компьютере (которым будем управлять) и локальном компьютере (с которого будем управлять), должен быть включён общий доступ к файлам и принтерам. Для их включения смотрите статью «SMB: настройка общей сетевой папки в Windows».
2. В современных Windows 10 у меня PsExec работала только с учётной записью «Администратор», видимой по той причине, что необходимы административные общие ресурсы (подробнее о них смотрите в статье «Как включить административные общие ресурсы в ОС Windows 10, 8 или 7 (C$, D$, $admin и другие)»).
На серверах Windows учётная запись «Администратор» включена по умолчанию.
В более старых версиях Windows, видимо, достаточно включения общего сетевого ресурса $admin для предоставления доступа к папке \Windows\. В Windows 10 папки $admin как сетевого ресурса нет вовсе.
3. Проверьте, что сетевой доступ к файлам и принтерам включён в файерволе. Для этого нажмите Win+r, введите там firewall.cpl.
Во вкладке «Разрешение взаимодействия с приложениями или компонентами в брандауэре защитника Windows»
найдите «Общий доступ к файлам и принтерам» и убедитесь, что стоит галочка в столбце «Частная» — если его там нет, то нажмите кнопку «Изменить параметры», поставьте галочку и нажмите ОК.
4. Убедитесь, что оба компьютера принадлежат к одной и той же рабочей группе (Workgroup).
5. Убедитесь, что вы правильно вводите пароль администратора удалённого компьютера.
Примеры
-
Создайте мини-дамп процесса с именем «Блокнот» (может существовать только одно совпадение):
-
Запись полного дампа процесса с PID ‘4572’:
-
Сначала напишите mini, а затем полный дамп процесса с PID ‘4572’:
-
Напишите 3 мини-дампа с интервалом в 5 секунд от процесса с именем «Блокнот»:
-
Записывайте до 3 мини-дампов процесса с именем «потребление», если загрузка ЦП превышает 20 % в течение пяти секунд:
-
Создайте мини-дамп для процесса с именем «hang.exe», если одно из его окон не отвечает в течение более 5 секунд:
-
Создайте полный дамп и дамп ядра для процесса с именем «hang.exe», если одно из его окон не отвечает в течение более 5 секунд:
-
Создайте мини-дамп процесса с именем outlook, если общая загрузка ЦП системы превышает 20 % в течение 10 секунд:
-
Создайте полный дамп процесса с именем outlook, если число дескрипторов Outlook превышает 10 000:
-
Создайте полный дамп piD svchost 1234, экземпляр 87, если число дескрипторов превышает 10 000:
Примечание. Счетчики нескольких экземпляров
При наличии нескольких экземпляров счетчика необходимо указать имя и(или) номер экземпляра.Старые ОС требуют добавления PID для счетчиков.
Совет: Используйте Монитор производительности для просмотра счетчиков (например, учет регистра).Совет: Для счетчиков на основе используйте PowerShell для сопоставления ИДЕНТИФИКАТОРа с его .
-
Создайте полный дамп для исключения второго шанса:
-
Создайте полный дамп для исключения 1-го или второго шанса:
-
Напишите полный дамп для сообщения строки отладки:
-
Записывайте до 10 полных дампов для каждого 1-го или 2-го случайного исключения w3wp.exe:
-
Записывайте до 10 полных дампов, если код, имя/msg исключения содержит «»:
-
Записывайте до 10 полных дампов, если сообщение строки отладки содержит «»:
-
Дождитесь процесса с именем «Блокнот» (и отслеживайте его на наличие исключений):
-
Запустите процесс с именем «Блокнот» (и отслеживайте его на наличие исключений):
-
Зарегистрируйтесь для запуска и попытайтесь активировать хранилище «приложение». Новый экземпляр ProcDump запустится при его активации:
-
Зарегистрируйтесь для запуска пакета хранилища. Новый экземпляр ProcDump запустится при активации (вручную):
-
Создайте дамп MiniPlus хранилища сведений Майкрософт Exchange, если в нем есть необработанное исключение:
-
Отображение без записи дампа, коды исключений и имена w3wp.exe:
-
Windows 7/8.0; Используйте отражение для сокращения простоя для 5 последовательных триггеров:
-
Windows 8.1+; Используйте PSS для сокращения простоя для 5 одновременных триггеров:
-
Установите ProcDump в качестве отладчика postmortem (AeDebug):
.. Или..
-
Удалите ProcDump в качестве отладчика postmortem (AeDebug):
См. список примеров командных строк (примеры приведены выше):
Killing Processes By Process Name with PSKill
Once you know how to find remote processes, let’s now dive into how to kill them. To start, let’s cover the pskill utility. First, learn how to kill processes by process name.
1. Ensure you have a process you can kill on your remote server. This tutorial will use the notepad process.
2. Open a PowerShell session or command prompt on your local desktop and change the directory to where you extracted the Sysinternal Suite and run the following command. You can see the syntax for is similar to .
Output of pskill
3. Now, run , as explained in the previous section, to confirm the process is indeed stopped.
Output of pslist
Killing Processes By Process ID with PSKill
Killing the process by name might be good enough for your needs if only a single instance of that process is running or you want to kill all processes with that name. What if you’re going to kill a particular instance of a running process? The following steps will demonstrate this.
1. On your remote server, open Notepad twice; you will kill one of these processes in this demonstration; you can of course, substitute other processes.
2. Run the following command taking note of one of the Pid‘s as shown below; you need that for the next step.
Using pslist to list PID’s of Notepad
3. Using the PID, now run , providing the PID as the last argument.
The output of pskill for a particular PID
4. Finally, check that you still have one instance of Notepad running by rerunning . You should now only see a single instance of Notepad running.
Output of pslist
PsExec
PsExec, вероятно, является самым мощным инструментом в наборе, так как вы можете выполнить любую команду в локальной командной строке так же, как и на удаленном компьютере. Это включает в себя все, что можно запустить из командной строки — вы можете изменить параметры реестра, запустить сценарии и утилиты или подключиться с этого компьютера к другому. Вывод команд будет показан на вашем локальном ПК, а не на удаленном.
Синтаксис прост:
Реально, однако, вы бы хотели также включить имя пользователя и пароль в командной строке. Например, чтобы подключиться к другому компьютеру и проверить список сетевых подключений, вы должны использовать что-то вроде этого:
Эта команда выдаст вывод, подобный следующему:
Если вы хотите передать вывод команды в другую команду или перенаправить вывод в файл, вы обычно просто делаете что-то вроде command.exe> output.txt, и то же самое происходит с PsExec. Таким образом, команда, подобная следующей, сохранит вывод netstat -an в файл в корневом каталоге локального компьютера.
Если вы хотите передать> или | символ через соединение PsExec с удаленным компьютером, вам нужно будет использовать символ ^, который является малоизвестным escape-символом в командной оболочке Windows. Это, конечно, означает, что нам на самом деле нужно будет использовать командную оболочку на удаленном компьютере, а не просто запустить процесс, поэтому мы можем в первую очередь выполнить перенаправление или конвейер. Таким образом, наша команда выглядит следующим образом (изменение пути к домашнему каталогу, в котором у нас есть права на запись).
В этом примере список открытых подключений, сгенерированных netstat, помещается в домашний каталог пользователя на удаленном компьютере в файл с именем connections.txt.
Копирование программ на удаленный компьютер
Вы не ограничены только приложениями на удаленном ПК при использовании PsExec, и фактически вы можете запускать все, что у вас есть локально. Например, если вы хотите выполнить проверку удаленной системы с помощью командной строки Autoruns, но на локальном компьютере у вас был только файл autorunsc.exe, вы можете использовать ключ -c, чтобы скопировать приложение. PsExec удалит инструмент из удаленной системы после завершения команды.
Это важное время, чтобы упомянуть опцию -accepteula большинства инструментов SysInternals, которая обеспечит принятие лицензионного соглашения на компьютере, на котором была выполнена команда. Нам нужно добавить это в команду autorunsc.exe, иначе на удаленном компьютере произойдет сбой
Есть несколько других опций, которые определяют, будет ли приложение всегда копироваться, или его следует копировать, если локальное приложение имеет более высокую версию, чем удаленное. Вы можете просто запустить psexec из командной строки, чтобы увидеть эти опции.
Примечание. Если команда доступна только в командной строке, перед ней необходимо добавить cmd / c. Это включает в себя трубы и перенаправления, как | и>.
Взаимодействие с зарегистрированным пользователем на удаленном ПК
Вы можете использовать ключ -i, чтобы запустить приложение и позволить удаленному пользователю реально взаимодействовать с приложением. Возможно, вы захотите объединить это с ключом -d, который не ожидает завершения удаленного процесса, прежде чем PsExec вернет вам управление. Например, эта команда откроет окно «Блокнот» на удаленном компьютере:
Вы также можете выбрать запуск от имени пользователя SYSTEM с параметром -s, что может быть очень опасно. Например, если вы хотите открыть редактор реестра на своем компьютере, но с разрешениями уровня пользователя SYSTEM, вы можете запустить эту команду.
Если вам интересно, да, это даст вам доступ ко многим вещам, которые вы обычно не имеете права редактировать в реестре. И да, это действительно плохая идея.
Принудительное закрытие программы через диспетчер задач
Системное Windows-приложение “Диспетчер задач” отвечает за отображения списка запущенных процессов и различной информации о них. Помимо прочего, данное приложение способно принудительно завершать работу практически любой программы. Сделать это очень просто, но сначала нужно запустить сам “Диспетчер задач”:
Вариант 1: нажмите на клавиатуре комбинацию клавиш Ctrl Alt Delete. В зависимости от версии и системных настроек Windows “Диспетчер задач” запуститься сразу же либо на экране отобразится небольшой список на синем фоне. Одним из пунктов этого списка будет “Диспетчер задач”.
- Вариант 2: нажмите на клавиатуре комбинацию клавиш Ctrl Shift Esc. Обычно это сразу (по крайней мере, в Windows 7/8/10) приводит к запуску “Диспетчера задач”.
- Вариант 3: нажмите на клавиатуре Win R и впишите в отобразившееся окошко команду taskmgr.
Вариант 4: кликните правой кнопкой мыши по пустой области “Панели задач” (панель в нижней части экрана, где отображаются названия открытых окон программ), выберите из отобразившегося контекстного меню пункт “Диспетчер задач”.
После того, как “Диспетчер задач” будет запущен, останется выполнить следующее:
Если в вашем случае окно “Диспетчера задач” выглядит так же, как на изображении ниже, выберите из представленного списка нужную программу, затем кликните “Снять задачу”.
Если в представленном списке нет нужной программы, нажмите элемент “Подробнее”. Тогда “Диспетчер задач” примет следующий вид:
Дальше все — то же самое: выберите название процесса и кликните по кнопке “Снять задачу”. Вместо кнопки также можно нажать на клавиатуре клавишу “Delete”.
Выбранный процесс будет завершен.
Как получить информацию об удалённой системе с PSInfo
PsInfo — это инструмент, используемый для получения об удалённой системе информации, такой как время работы, версия, вариант Windows и т. д.
.\psinfo \\HACKWARE-SERVER -u Администратор -p Aa1
Следующая информация об удалённой системе предоставлена в PsInfo:
- Uptime показывает, сколько дней и часов работает система
- Kernel Version показывает ядро операционной системы
- Product Type показывает версию операционной системы
- Product Version версия продукта
- Kernel Build Number номер сборки ядра
- Registered Organization организация
- Registered Owner владелец
- IE Version показывает версию Internet Explorer
- System Root показывает, где установлена операционная система
- Processor показывает количество процессоров или потоков
- Processor Speed скорость (частота) центрального процессора
- Processor Type показывает подробную версию и имя процессора
- Physical Memory количество физической памяти
- Video Driver показывает имя загруженного драйвера
Настройка доступа к удаленному администрированию
Если вы находитесь в доменной среде, которой будет пользоваться большинство людей, которым необходимо использовать PsTools, вы можете полностью игнорировать этот раздел, поскольку все должно работать нормально. Для тех, кто работает под управлением Windows 7, 8 или Vista в домашней среде или использует несколько компьютеров в офисе без домена, вам потребуется настроить контроль учетных записей на удаленном компьютере, чтобы PsTools работал правильно.
Проблема хорошо описана Microsoft :
Чтобы объяснить это по-другому, когда вы пытаетесь подключиться к другому компьютеру и запустить что-то, требующее доступа администратора, нет способа вызвать приглашение UAC и принять его с вашего компьютера, поэтому он не будет подключаться как администратор.
И это не плохо. Вы не должны изменять этот параметр, не понимая полностью, что вы разрешите распространению вредоносного ПО с одного компьютера на другой — при условии, что вредоносное ПО имеет ваше локальное имя пользователя и пароль, и тот же пароль, что и на другом компьютере, и Вредоносные программы — это хитрость, а большинство — нет. Но все же это не то, что нужно воспринимать легкомысленно
И снова, если вы находитесь в доменной среде, эта проблема не существует и не нуждается в изменении. И если вы просто тестируете с кучей виртуальных машин, вам не о чем беспокоиться.
Чтобы настроить UAC для запуска PsTools, вам нужно открыть редактор реестра и перейти к следующему ключу:
Когда вы окажетесь там, создайте новый 32-битный DWORD с правой стороны, присвойте ему имя LocalAccountTokenFilterPolicy и значение 1. Вам не нужно перезагружать компьютер, чтобы настройки вступили в силу.
Что такое «службы» в windows 10
Для обеспечения нормальной работы компьютера и ОС Win 10 существуют различные вспомогательные программы и сервисы. Все они запускаются, как правило, автоматически (по умолчанию) при включении ПК. От их функционирования зависит слаженная работа компьютера.
Отображаются все эти вспомогательные сервисы в списке консоли под названием «Службы». У каждого элемента, входящего в этот перечень, своя задача и функция. Вызвать служебное окно (площадку) удастся с помощью такой команды (набора символов): «services.msc».
На каждом ПК имеется стандартный и расширенный наборы софтов. Увидеть весь список вспомогательных приложений можно, например, через Панель управления. Такая фраза (опция) закреплена в контекстном меню сервиса Пуск. Активировав Панель управления, нужно нажать мышкой один раз на слово «Администрирование».
Попав в служебное окно, пользователь увидит два списка: расширенный и стандартный. Эта площадка содержит не только перечень, но и полное наименование каждой программы, ее описание, назначение, тип запуска и состояние. Если кликнуть единожды по любому служебному элементу, то всплывет небольшое окошко с его свойствами и зависимостями.
Прежде чем отключать приложение, нужно посмотреть, от каких компонентов оно зависит. Ведь если нажать на «Стоп», то работа выбранного элемента остановится. К тому же остановка такого сервиса может отобразиться на других, связанных с ним, компонентах.
Решена – cmd.exe грузит процессор на 30%
Всем привет!
Где-то полгода назад заметил, что мой ноутбук тормозит.
Позже обнаружил, что в процессах постоянно висит cmd.exe который грузит процессор примерно на 20-30%. Если его принудительно завершить, то система прекрасно работает, значительно быстрее.
У меня windows7 64 бит
cmd.exe которые запускается при старте, лежит в папке windows /syswow64
удалять его оттуда боюсь, т.к. прочитал, что папка важная и ничего оттуда удалять нельзя.
Проверял диск С: утилитой cureit . Нашла один зараженный файл smss.exe
Но, думаю, что к моему случаю это прямого отношения не имеет.
Подскажите, пожалуйста, что с этим делать?
§
Всем привет!
Где-то полгода назад заметил, что мой ноутбук тормозит.
Позже обнаружил, что в процессах постоянно висит cmd.exe который грузит процессор примерно на 20-30%. Если его принудительно завершить, то система прекрасно работает, значительно быстрее.
У меня windows7 64 бит
cmd.exe которые запускается при старте, лежит в папке windows /syswow64
удалять его оттуда боюсь, т.к. прочитал, что папка важная и ничего оттуда удалять нельзя.
Проверял диск С: утилитой cureit . Нашла один зараженный файл smss.exe
Но, думаю, что к моему случаю это прямого отношения не имеет.
Подскажите, пожалуйста, что с этим делать?
Query processes remotely
Without interactively connecting to a remote Windows computer you can easily query its current list of processes with a variety of tools.
2. tasklist
Since Windows XP there is a built-in command line utility named “tasklist“. By running the command “tasklist /s hostname” where “hostname” is the remote computer you want to query, it will return a list of processes on the remote machine and some basic details about each process (PID, session number, memory usage, etc.).
The tasklist command also allows you to specify different credentials on the command line if you need to authenticate to the remote computer with a different username and password. Just remember if you specify the password on the command line it will be visible to other administrators on the local computer who look at the local computer’s process list details.
In a command prompt run “tasklist /?” for more information about its usage.
3. PsList
Once again, if you’ve followed our articles for awhile, you know we’re big fans of the SysInternals PsTools suite. The PsList utility is another part of the PsTools suite. PsList is very similar to tasklist, but it gives you much more detailed information on threads (counts, states, context switches, etc.), CPU usage (user time, kernel time, etc.), and memory usage (private byes, working set, virtual memory, page faults, etc.).
PsList can also target a specific PID or process name (or name pattern). And one of my favorite features of PsList is the -t option to show you the process tree structure.
Much like the tasklist command, PsList also allows you to specify different credentials on the command line if you need to authenticate to the remote computer with a different username and password. Again, remember if you specify the password on the command line it will be visible to other administrators on the local computer who look at the local computer’s process list details.
After downloading PsList, in a command prompt run “pslist -?” for more information about its usage.
4. Scripting
And of course, if you want to go the scripting route, you can use things like PowerShell’s Get-Process cmdlet or again, even WMI queries to get details about remote Windows processes.
Querying Remote Windows Process with PSList
Another tool to view running processes is PSList, and this utility is part of the Sysinternals Suite. This suite of tools has been around for many years and was created by Mark Russinovich, CTO of Azure!
Let’s get started on how you can view running processes on a remote computer.
1. Open a PowerShell session or command prompt on your desktop and change the directory to where you extracted the Sysinternal Suite.
2. In your PowerShell session, run the following command to display the running processes on the remote computer and associated CPU usage in real-time.
The command below runs to query all remote Windows processes on the computer authenticating the username () and password ().
The command uses the switch turns into “task manager mode” that repeatedly updates the list.
You now see the following output from running that command; for this article, you are concerned with 3 of these values. As shown below.
- Name: The name of the process.
- Pid: Process Identifier, a critical value used in this tutorial, the PID number can be used to kill a remote process. It’s the numerical id assigned to a process.
- CPU: This shows in near real-time the utilization of your overall available CPU.
The other values are memory-related and beyond the scope of this article.
Output in real-time of pslist
3. Since step two used the switch, hit Ctrl-C to quit to get back to the console.
Как отключить ненужные службы
Прежде чем остановить активность конкретной программы, нужно изучить ее зависимости. Узнать такую информацию удастся из специальной консоли, на которой размещен перечень (стандартный и расширенный) всех вспомогательных приложений, работающих на ПК. Нужно лишь выбрать конкретный сервис и вызвать для него окошко «Свойства».
Как узнать о зависимых компонентах:
вызвать Панель управления (через Пуск);
отыскать и активировать «Администрирование»;
найти слово «Службы» и кликнуть по нему один раз;
появится одноименная консоль со списком (расширенным и стандартным);
- выделить конкретное приложение и кликнуть по нему;
- появится окошко со свойствами;
- отыскать вкладку «Зависимости»;
- появится два списка:
- 1) перечень компонентов, от которых зависит данная служба;
- 2) перечень компонентов, которые зависят от данного сервиса.
Отключать ненужные приложения рекомендуется для разгрузки процессора и оперативной памяти. Чаще всего деактивируют удаленный доступ к рабочему столу. По умолчанию эта функция на большинстве ПК включена. Для обеспечения безопасности персонального устройства лучше удаленный доступ к своему рабочему столу самостоятельно деактивировать.
Как отключить конкретное приложение через Панель управления:
через Пуск и Панель управления вызвать консоль «Службы»;
в списке отыскать компонент, работу которого требуется остановить;
- кликнуть один раз по этому элементу;
- всплывет окошко «Свойства»;
открыть в нем вкладку под названием «Общие»;
выставить режим «Ручной» для функции «Тип запуска»;
если написано «работает», то нажать на кнопку «Стоп» или «Остановить»;
сохранить измененные функции.
Способ деактивации приложения через «Выполнить»:
- перейти в Пуск;
- вызвать «Выполнить»;
- появится консоль;
- выбрать из перечня конкретное приложение;
- вызвать для него окошко «Свойства»;
- в строчке «Тип запуска» выставить функцию «Отключено»;
- «Применить» измененный параметр.
Способ деактивации из командной строки:
вызвать командную строчку на администраторских правах;
написать команду (символы): sc config “наименование компонента” start= disabled.
Способ отключения приложения через «Редактор реестра» (если в окошке «Свойства» неактивна строчка «Тип запуска»):
- предварительно запустить «Службы» и посмотреть полное наименование отключаемой программы;
- активировать «Выполнить»;
- написать символы: regedit;
- появится окно под названием «Редактор реестра»;
- перейти в самый конец: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices;
- в списке «services» отыскать программу для отключения;
- кликнуть один раз по выбранному компоненту;
- в открывшемся перечне найти параметр «Start»;
- кликнуть дважды по этому параметру;
- в окне «Изменение параметра» в строчке «Значение» выставить «4»;
нажать один раз на «ОК» и выполнить перезагрузку ПК.
Важно! При деактивации конкретной программы вначале рекомендуется убедиться, что ее отключение не повлечет изменение жизненно важных процессов на ПК. Информация о зависимых компонентах находится в окошке «Свойства» во вкладке под названием «Зависимости»
Выключение конкретного сервиса может повлиять на работу компьютера или состояние ОС.
Как получить процессов в удалённой системе с PsList
Процессы, запущенные в удалённой системе, могут быть легко перечислены с помощью команды PsList.
.\pslist \\HACKWARE-SERVER -u Администратор -p Aa1
Вывод предоставит следующую информацию о процессах удалённой системы.
- Name — это имя исполняемого файла
- Pid — это ID процесса, который идентифицирует процессы (то есть отделяет друг от друга, является уникальной характеристикой процессов)
- Pri является приоритетом, который влияет на производительность процесса в периоды высокой нагрузки
- Thd — это номер потока
- Hnd — это счётчик открытых файловых обработчиков
- CPU Time — это общее использование ресурсов центрального процессора
- Elapsed Time — это время от начала процесса
Что такое PsExec и PsTools
На самом деле, PsExec это всего лишь один из инструментов из пакета PsTools. Программа PsExec используется чаще всего, поэтому обычно упоминается она, но в данной инструкции будут рассмотрены как примеры использования PsExec, так и примеры использования других инструментов из пакета PsTools.
Состав PsTools:
- PsExec используется для удалённого выполнения команд или получения шелла (оболочки) на удалённой системе
- PsFile используется для вывода списка удалённо открытых файлов
- PsGetSid используется для отображения идентификатора безопасности для удалённого компьютера или пользователя
- PsInfo используется для получения подробной информации об удалённой системе
- PsKill используется для остановки процесса в удалённой системе по имени или идентификатору
- PsList используется для детального отображения процессов в удалённой системе
- PsLoggedOn используется для вывода списка зарегистрированных пользователей в удалённых системах
- PsLogList, используемый для отображения журналов событий на удалённых системах
- PsPasswd используется для изменения заданного пароля пользователя в удалённой системе
- PsPing используется для пинга из удалённой системы
- PsServervice используется для перечисления и управления службами Windows в удалённой системе
- PsShutdown используется для выключения, выхода из системы, приостановки и перезапуска удалённой системы Windows
- PsSuspend используется для приостановки и возобновления процессов в удалённой системе Windows
- PsUptime используется для отображения времени работы удалённой системы
Запустить cmd и отобразить все процессы
Запустить cmd можно несколькими способами:
- Нажмите на клавиатуре Win (кнопочка с плывущим окошком) и R (языковой регистр не имеет значения). В появившееся окно «Выполнить» впишите cmd и нажмите ОК.
- Нажмите Win и X, запустите нужное средство от имени администратора.
- Напишите в поисковой строке Пуска cmd и запустите приложение cmd.exe двумя быстрыми щелчками.
- Или же начните писать в поисковой строке Пуска «команды…» и запустите первое приложение из результатов поиска двумя быстрыми щелчками.
Друзья, если вы справились с запуском cmd, значит, точно сможете найти через неё и убить тот самый злополучный процесс.
Увидеть программу, которая зависла, поможет команда tasklist. Её нужно написать в появившемся чёрном окошке (там, где мигает курсор), после чего нажать клавишу Enter. Способ одинаково актуален для всех версий Windows – 7, 8 и 10. Результатом этого действия будет появление списка всех запущенных на ПК процессов.