Как посмотреть процессы на удаленном компьютере

от admin

Как посмотреть список процессов в Windows на удаленном компьютере

Бывает так, что нам нужно посмотреть, запущена та или иная программа на удаленном компьютере. Просто и быстро. Без стороннего софта. Ну или по каким-то другим причинам посмотреть запущенные процессы.

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

Активные пользователи командной строки Windows знают о существовании такой замечательной команды, как tasklist . Команда делает именно то, о чем можно было подумать, т.е. выводит список процессов. Может она это сделать и для удаленного компьютера. Синтаксис команды таков:

tasklist [/S имя_удаленного_компьютера [/U имя_пользователя [/P пароль]]] [/M модуль | /SVC | /V] [/FI фильтр] [/FO формат] [/NH]

/S — необходимо указать имя удаленного компьютера, если подключаемся к такому. Для локального компьютера не указывается;

/U — имя пользователя, от которого будут просматриваться процессы. Пользователь должен быть администратором;

/P — пароль от указанной учетной записи пользователя, если пароль не указан, будет выполнен запрос на ввод пароля;

/M — отображение всех процессов, которые используют указанное имя. Если не задано, будут отображаться все процессы;

/SVC — отображение служб для каждого процесса;

/V — ведение подробного протоколирования;

/FI — отображение процессов, которые соответствуют указанному фильтру;

/FO — формат файла для экспорта, допустимы значение TABLE , LIST и CSV ;

/NH — отключение отображение заголовка в выводим данных, доступно для форматов TABLE и CSV .

Таким образом, если нам просто нужно посмотреть список запущенных процессов на локальном компьютере, то достаточно просто набрать

Как посмотреть список процессов в Windows на удаленном компьютере

Пример вывода команды tasklist.

Если же мы хотим посмотреть процессы на удаленном компьютере (например, с именем Test-PC), то команда должна выглядеть следующим образом:

Кроме этого момента, вынесенного в заголовок статьи, разберем другие примеры использования команды tasklist . Что, если мы не хотим просматривать все процессы, а только начинающиеся с win? Тогда мы можем использовать фильтр:

Как посмотреть список процессов в Windows на удаленном компьютере

Использование фильтров в команде tasklist.

Со стороны написанное может казаться непонятным. Поэтому разберем синтаксис составления фильтров в команде tasklist .

Начнем с того, что фильтр заключается в кавычки. Далее идёт очень простая схема:

[имя_фильтра] [оператор] [значение]

Есть ограниченное число имён фильтров, операторов и значений. Они в таблице ниже.

Имя фильтра Допустимые операторы Допустимые значения Описание
STATUS eq, ne RUNNING, SUSPENDED, NOT RESPONDING, UNKNOWN Статус процесса
IMAGENAME eq, ne Имя (часть имени) процесса(-ов) Подходящие по наименованию процессы
PID eq, ne, gt, lt, ge, le Значение PID Идентификатор процесса
SESSION eq, ne, gt, lt, ge, le Номер сеанса Номер сеанса в Windows
SESSIONNAME eq, ne Имя сеанса Имя сеанса в Windows
CPUTIME eq, ne, gt, lt, ge, le Время ЦП в формате чч:мм:сс (часы:минуты:секунды) Время обработки задачи
MEMUSAGE eq, ne, gt, lt, ge, le Используемая ОЗУ (в КБ) Размер используемой задачей оперативной памяти
USERNAME eq, ne Имя пользователя Пользователь, из-под которого запущен процесс
SERVICES eq, ne Имя службы Используемые службы
WINDOWTITLE eq, ne Заголовок окна Заголовок окна процесса
MODULES eq, ne Имя dll (динамически подключаемой библиотеки) Используемые библиотеки

Отметим, что для удаленных компьютеров не действуют фильтры «WINDOWTITLE» и «STATUS».

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

eq — равно;

ne — не равно;

gt — больше;

lt — меньше;

ge — больше или равно;

le — меньше или равно.

Синтаксис фильтров является, пожалуй, самой сложной частью. Все следующие примеры проще. Тот же просмотр служб, относящихся к задачам, вызывается следующей командой:

Как посмотреть список процессов в Windows на удаленном компьютере

Просмотр используемых служб в команде tasklist.

Если мы хотим вывести информацию в файл, то нужно использовать параметр /FO. Конечно же, у вас должны быть права на запись в каталог, куда вы хотите поместить файл с выводимой информацией. Команда

выведет информацию в формате .csv в файл primer.csv, который находится на диске C.

Что, если нам надо посмотреть какие процессы используют определенную dll-библиотеку? Например, библиотеку cfgmgr32.dll. Это можно сделать командой

Как посмотреть список процессов в Windows на удаленном компьютере

Получилось несколько больше, чем просто статья о просмотре процессов на другом компьютере. �� Это потому, что я считаю, что, заводя речь о какой-то команде, надо давать более-менее подробное описание её сути. Конечно, в данной статье приведены не все примеры и не все нюансы команды tasklist . Их можно изучить самостоятельно.

Управление процессами с помощью PowerShell

date27.07.2021
useritpro
directoryPowerShell, Windows 10, Windows Server 2016
commentsкомментариев 7

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

Список доступных командлетов управления процессами в Windows 10 можно вывести так:

Get-Command –Noun Process

командлеты управления процессами в powershell

  • Get-Process – получить список запущенных процессов;
  • Start-Process – запустить процесс/программу;
  • Stop-Process – принудительно остановить процесс;
  • Debug-Process – используется для отладки процессов;
  • Wait-Process – используется для ожидания окончания процесса.

Get-Process – получение списка запущенных процессов

Командлет Get-Process позволяет вывести список запущенных процессов на локальном компьютере.

Get-Process список запушенных процессов

По-умолчанию выводятся следующие свойства запущенных процессов:

  • Handles – количество дескрипторов ввода — вывода, которые отрыл данный процесс;
  • NPM(K) — Non-paged memory (невыгружаемый пул). Размер данных процесса (в Кб.), которые никогда не попадают в файл подкачки на диск;
  • PM(K) – размер памяти процесса, которая может быть выгружена на диск;
  • WS(K) – размер физической памяти в Кб, используемой процессом (working set).
  • CPU(s) – процессорное время, использованное процессом (учитывается время на всех CPU);
  • ID — идентификатор процесса;
  • SI (Session ID) – идентификатор сеанса процесса (0 — запущен для всех сессий, 1 – для первого залогиненого пользователя, 2 — для второго и т.д.);
  • ProcessName – имя процесса.

Чтобы получить все свойства нескольких процессов:

Get-Process winword, notep* | Format-List *

Можно вывести только определенный свойства процессов. Например, имя (ProcessName) время запуска (StartTime), заголовок окна процесса (MainWindowTitle), имя исполняемого файла (Path) и наименование разработчика (Company):

Читать:
Как добавить год в 1с 8

Get-Process winword, notep* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft

вывести подроюную информацию о запущенных процессах

Вывести список запущенных процессов пользователя с графическими окнами (в список не попадут фоновые и системные процессы):

Get-Process | Where-Object <$_.mainWindowTitle>| Format-Table Id, Name, mainWindowtitle

Get-Process | Where-Object <<img decoding=

.mainWindowTitle — процессы с графическими окнами» width=»» />.mainWindowTitle — процессы с графическими окнами» width=»» />

С помощью параметра IncludeUserName можно вывести имя пользователя (владельца), который запустил процесс:

Get-Process -Name winword -IncludeUserName

С помощью Where-Object можно выбрать процессы в соответствии с заданными критериями. Например, выведем все процессы, которые используются более 200 Мб оперативной памяти, отсортируем процессы в порядке убывания используемого объема RAM, размер памяти из Кб преобразуем в Мб:

Get-Process найти процессы, которые занимают более 200 Мб оперативной памяти

Как мы уже говорили ранее командлет Get-Process в параметре CPU содержит время использования процессора конкретным процессом в секундах. Чтобы отобразить процент использования CPU процессами (по аналогии с Task Manager), используйте такую функцию:

function Get-CPUPercent
<
$CPUPercent = @<
Name = ‘CPUPercent’
Expression = <
$TotalSec = (New-TimeSpan -Start $_.StartTime).TotalSeconds
[Math]::Round( ($_.CPU * 100 / $TotalSec), 2)
>
>
Get-Process | Select-Object -Property Name, $CPUPercent, Description | Sort-Object -Property CPUPercent -Descending | Select-Object -First 20
>

PowerShellс скрипт с Get-Process выводит процент использования CPU процессами

Чтобы найти зависшие процессы (которые не отвечают), выполните команду:

Start-Process, Stop-Process: запуск и остановка процессов из PowerShell

Чтобы запустить новый процесс с помощью PowerShell используется команда:

Start-Process -FilePath notepad

Если каталог с исполняемым файлом отсутствует в переменной окружения $env:path, нужно указать полный путь к файлу:

Start-Process -FilePath ‘C:\distr\app.exe’

Можно запустить программу и передать ей аргументы:

Start-Process -FilePath ping -ArgumentList «-n 10 192.168.1.11»

С помощью параметра WindowStyle вы можете задать режим запуска окна процесса (normal, minimized, maximized, hidden). Например, чтобы запустить программу в максимально развернуом окне и дождаться завершения процесса, выполните команду:

Start-Process -FilePath tracert -ArgumentList «192.168.1.11» –wait -windowstyle Maximized

С помощью командлета Stop-Process можно завершить любой процесс. Например, чтобы закрыть все запущенные процессы notepad:

Stop-Process -Name notepad

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

Stop-Process -Name notepad.exe -Confirm

Stop-Process завершить процесс powershell

(Get-Process -Name notepad).Kill()

Из PowerShell можно принудительно завершить все приложения, которые не отвечают диспетчеру процессов Windows:

Get-Process | where-object <$_.Responding -eq $false>| Stop-Process

PowerShell: управление процессами на удаленном компьютере

С помощью аргумента ComputerName командлет Get-Process позволяет управлять процессами на удаленных компьютерах (должен быть включен и настроен WinRM).

Get-Process -ComputerName dc01, dc02| Format-Table -Property ProcessName, ID, MachineName

Если вы хотите завершить процесс на удаленном компьютере, имейте в виду, что у командлета Stop-Process отсутствует параметр –ComputerName. Для завершения процесса на удаленном компьютере можно использовать такой PowerShell код:

$RProc = Get-Process -Name notepad -ComputerName dc01
Stop-Process -InputObject $RProc

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Как управлять процессами на удаленном компьютере?

Иногда возникает вопрос как посмотреть какие процессы запущены на удаленном компьютере пользователя (и завершить процесс на удаленном компьютере) но при этом не ставить ни какое доп ПО и вообще что бы это было быстро и желательно из консоли ) На этот случай «мелкософт» позаботился о сисадминах и дал там волшебную команду tasklist (о всех ее функция можете посмотреть в командной строке tasklist /?)

Но перейдем к делу, а точнее к пошаговой инструкции по пользованию этой удобной утилиты!

  1. Для начала откроем командную строку Пуск-cmd
  2. Вводим команду tasklist /s winxp-test
    tasklist — команда по выводу удаленных процессов
    /s — ключ который говорит что будет подключать удаленный компьютер
    winxp-test — имя компьютера на котором нужно вывести процессы
    просмотр процессов на удаленном компьютере
  3. теперь зная имя процесса и его PID мы его принудительно завершим, для примера я взял процесс uTorrent с номер процесса 2720
  4. Далее запускаем другую команду taskkill /s winxp-test /pid 2720
    список процессов на удаленном компьютере
  5. Все, радуемся жизни не поднимаю пятую точку со стула )

PS Данная утилиты очень полезна когда требуется быстро решить проблему не тревожа пользователя выяснить что не так на его компе или найти «плохую редиску» в офисе которая запускает ненужно ПО на своем компе.

доп ключи : просмотр процессов на удаленном компьютере, список процессов на удаленном компьютере, процессы замедляющие работу компьютера, завершить процесс на удаленном компьютере, как посмотреть процессы на компьютере.

Как управлять процессами на удаленном компьютере?

Иногда возникает вопрос как посмотреть какие процессы запущены на удаленном компьютере пользователя (и завершить процесс на удаленном компьютере) но при этом не ставить ни какое доп ПО и вообще что бы это было быстро и желательно из консоли ) На этот случай “мелкософт” позаботился о сисадминах и дал там волшебную команду tasklist (о всех ее функция можете посмотреть в командной строке tasklist /?)
Но перейдем к делу, а точнее к пошаговой инструкции по пользованию этой удобной утилиты!

  1. Для начала откроем командную строку Пуск-cmd
  2. Вводим команду tasklist /s winxp-test
    tasklist – команда по выводу удаленных процессов
    /s – ключ который говорит что будет подключать удаленный компьютер
    winxp-test – имя компьютера на котором нужно вывести процессы
    просмотр процессов на удаленном компьютере
  3. теперь зная имя процесса и его PID мы его принудительно завершим, для примера я взял процесс uTorrent с номер процесса 2720
  4. Далее запускаем другую команду taskkill /s winxp-test /pid 2720
    список процессов на удаленном компьютере
  5. Все, радуемся жизни не поднимаю пятую точку со стула )

PS Данная утилиты очень полезна когда требуется быстро решить проблему не тревожа пользователя выяснить что не так на его компе или найти “плохую редиску” в офисе которая запускает ненужно ПО на своем компе.

доп ключи : просмотр процессов на удаленном компьютере, список процессов на удаленном компьютере, процессы замедляющие работу компьютера, завершить процесс на удаленном компьютере, как посмотреть процессы на компьютере.

Похожие статьи