PsExec версии 2.40

Марк Руссинович

Опубликовано: 19 июля 2022 г.

Скачать PsTools(3,5 МБ)

Введение

Такие служебные программы, как Telnet и программы удаленного управления, такие как компьютер Symantec anywhere, позволяют выполнять программы в удаленных системах, но они могут быть трудно настроить и требовать установки клиентского программного обеспечения на удаленных системах, к которым вы хотите получить доступ. PsExec — это упрощенная замена telnet, которая позволяет выполнять процессы в других системах, полностью интерактивность для консольных приложений без необходимости устанавливать клиентское программное обеспечение вручную. Наиболее эффективные варианты использования PsExec включают запуск интерактивных командных строк в удаленных системах и средства удаленного включения, такие как IpConfig, которые в противном случае не могут отображать сведения о удаленных системах.

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

Установка

Просто скопируйте PsExec в исполняемый путь. При вводе "psexec" отображается синтаксис использования.

Использование программы PsExec

См. статью журнала Windows IT Proза июль 2004 года, посвященную расширенному использованию PsExec.

Использование:

psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c executable [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
Параметр Описание
-a Отдельные процессоры, на которых приложение может работать с запятыми, где 1 — это самый низкий нумерованный ЦП. Например, чтобы запустить приложение на ЦП 2 и ЦП 4, введите "-a2,4"
-c Скопируйте указанный исполняемый файл в удаленную систему для выполнения. Если этот параметр не указан, приложение должно находиться в системном пути в удаленной системе.
-d Не ожидайте завершения процесса (неинтерактивного).
-e Не загружает профиль указанной учетной записи.
-f Скопируйте указанную программу, даже если файл уже существует в удаленной системе.
-i Запустите программу, чтобы она взаимодействовала с рабочим столом указанного сеанса в удаленной системе. Если сеанс не указан, процесс выполняется в сеансе консоли. Этот флаг необходим при попытке интерактивного запуска консольных приложений (с перенаправленным стандартным вводом-выводом).
-h Если целевая система — Vista или более поздняя, процесс выполняется с маркером с повышенными привилегиями учетной записи, если он доступен.
-l Выполнение процесса от имени ограниченного пользователя (удаляет группу "Администраторы" и разрешает только привилегии, назначенные группе "Пользователи"). В Windows Vista процесс выполняется с низкой целостностью.
-n Указывает время ожидания в секундах, подключающихся к удаленным компьютерам.
-p Указывает необязательный пароль для имени пользователя. Если опустить этот параметр, вам будет предложено ввести скрытый пароль.
-r Указывает имя удаленной службы для создания или взаимодействия с ней.
-s Запустите удаленный процесс в системной учетной записи.
-u Указывает необязательное имя пользователя для входа на удаленный компьютер.
-v Скопируйте указанный файл только в том случае, если он имеет более высокий номер версии или более новый, чем файл в удаленной системе.
-w Задайте рабочий каталог процесса (относительно удаленного компьютера).
-x Отображение пользовательского интерфейса на защищенном рабочем столе Winlogon (только в локальной системе).
-priority Указывает -low, -belownormal, -abovenormal, -high или -realtime для выполнения процесса с другим приоритетом. Используйте -background для запуска с низким уровнем памяти и приоритетом ввода-вывода в Vista.
компьютер Direct PsExec для запуска приложения на удаленном компьютере или на указанных компьютерах. Если опустить имя компьютера, PsExec запускает приложение в локальной системе, а если указать подстановочный знак (\\*), PsExec выполняет команду на всех компьютерах в текущем домене.
@file PsExec выполнит команду на каждом из компьютеров, перечисленных в файле.
cmd Имя выполняемого приложения.
Аргументы Аргументы для передачи (обратите внимание, что пути к файлам должны быть абсолютными путями в целевой системе).
-accepteula Этот флаг подавляет отображение диалогового окна лицензии.

Приложения с пробелами в имени можно заключать в кавычки, например.

psexec \\marklap "c:\\long name app.exe"

Входные данные передаются в удаленную систему только при нажатии клавиши ВВОД. При вводе клавиш CTRL-C удаленный процесс завершается.

Если не указать имя пользователя, процесс будет выполняться в контексте учетной записи в удаленной системе, но не будет иметь доступа к сетевым ресурсам (так как он олицетворяет). Укажите допустимое имя пользователя в синтаксисе Domain\User , если удаленный процесс требует доступа к сетевым ресурсам или запуска в другой учетной записи. Обратите внимание, что пароль и команда шифруются при передаче в удаленную систему.

Коды ошибок, возвращаемые PsExec, зависят от выполняемых приложений, а не PsExec.

Примеры

В этой статье я написала описание работы PsExec и дает советы по ее использованию:

Следующая команда запускает интерактивную командную строку:\\marklap

psexec -i \\marklap cmd

Эта команда выполняет IpConfig в удаленной системе с помощью коммутатора /all и отображает полученные выходные данные локально:

psexec -i \\marklap ipconfig /all

Эта команда копирует программу test.exe в удаленную систему и выполняет ее в интерактивном режиме:

psexec -i \\marklap -c test.exe

Укажите полный путь к программе, которая уже установлена в удаленной системе, если она не находится по пути системы:

psexec -i \\marklap c:\bin\test.exe

Запустите Regedit в интерактивном режиме в системной учетной записи, чтобы просмотреть содержимое ключей SAM и SECURITY::

psexec -i -d -s c:\windows\regedit.exe

Чтобы запустить Internet Explorer как с ограниченными правами пользователя, используйте следующую команду:

psexec -l -d "c:\program files\internet explorer\iexplore.exe"

Скачать PsTools(3,5 МБ)

PSTools

PsExec является частью растущего набора средств командной строки Sysinternals, которые помогают администрированию локальных и удаленных систем с именем PsTools.

Выполняется в:

  • Клиент: Windows 8.1 и выше.
  • Сервер: Windows Server 2012 и выше.