Одна команда Windows PowerShell позволяет запускать команды на одном или сотнях компьютеров. Windows PowerShell поддерживает удаленное вычисление с помощью разных технологий, включая WMI, RPC и WS-Management.
С помощью параметра IncludeUserName можно вывести имя пользователя (владельца), который запустил процесс:
Get-Process -Name winword -IncludeUserName
С помощью Where-Object можно выбрать процессы в соответствии с заданными критериями. Например, выведем все процессы, которые используются более 200 Мб оперативной памяти, отсортируем процессы в порядке убывания используемого объема RAM, размер памяти из Кб преобразуем в Мб:
Как мы уже говорили ранее командлет Get-Process в параметре CPU содержит время использования процессора конкретным процессом в секундах. Чтобы отобразить процент использования CPU процессами (по аналогии с Task Manager), используйте такую функцию:
Удаленный доступ к компьютеру #hacker
Start-Process, Stop-Process: запуск и остановка процессов из PowerShell
Чтобы запустить новый процесс с помощью PowerShell используется команда:
Start-Process -FilePath notepad
Если каталог с исполняемым файлом отсутствует в переменной окружения $env:path, нужно указать полный путь к файлу:
Start-Process -FilePath ‘C:distrapp.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
(Get-Process -Name notepad).Kill()
Из PowerShell можно принудительно завершить все приложения, которые не отвечают диспетчеру процессов Windows:
Get-Process | where-object | Stop-Process
PowerShell: управление процессами на удаленном компьютере
С помощью аргумента ComputerName командлет Get-Process позволяет управлять процессами на удаленных компьютерах (должен быть включен и настроен WinRM).
Get-Process -ComputerName dc01, dc02| Format-Table -Property ProcessName, ID, MachineName
Удаленный рабочий стол на Windows VDS (VPS сервер). Как запускать программы и решать задачи 24/7
PsExec: обзор утилиты для удаленного выполнения команд
Зачастую в операционной системе приходится выполнять команды в cmd для выполнения определенных действий. Но как быть, если компьютер, на котором требуется выполнить набор действий, является удаленным? На такой случай существует довольно обширный набор утилит, одну из которых мы рассмотри в данной статье. PsExec — утилита, которая обеспечивает доступ к командной строке на удаленном компьютере Windows.
Как пользоваться PsExec exe Windows 10
Сама утилита не требует установки в систему, необходимо всего лишь скопировать ее в ту же папку, где находятся исполняемые файлы (например, C:Windows). Также должны работать службы «Сервер» и «Рабочая станция», и должен быть доступен общий ресурс Admin$. После этого запуск можно осуществить из cmd или powershell.
Принцип выглядит так: перед тем, как начать исполнение команды утилита распаковывает службу, которая называется psexesvc в системную папку system32 в файл psexesvc.exe, который находится в скрытой папке Admin$ (C:Windows) на целевой системе. Когда копирование и установка службы завершается, происходит установка связи между утилитой и установленной службой для ввода и выполнения команд и получения результатов. При завершении работы утилита останавливает и удаляет службу с целевой системы.
Общий синтаксис выглядит следующим образом:
Давайте вкратце рассмотрим некоторые из ключей, которые могут использоваться утилитой psexec:
Например, трассировка маршрута до узла www.microsoft.com на удаленном компьютере pc1 будет выглядеть следующим образом:
psexec \pc1 tracert microsoft.com
Случай, когда необходимо выполнить одновременное выключение компьютеров pc1 и pc2:
psexec pc1, pc2 shutdown –f –r –t 0
Имена компьютеров могут также быть перечислены в списке в текстовом файле, например, pcs_list.txt. Тогда команда принимает вид:
Для того, чтобы вводить команды для работы PsExec в Windows 7 нужно добавить в реестр ключ reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciessystem /v
LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f, иначе вы увидите ошибку «PsExec отказано в доступе: could not start».
Разумеется, что утилита принимает разный вид в зависимости от выполняемой задачи. В данной статье рассмотрены только самые простые случаи. В том случае, если требуется вызвать полную информацию обо всех ключах, то можно выполнить команду psexec.
Источник: windowstips.ru