PsExec версии 2.43
Марк Руссинович
Опубликовано: 11 апреля 2023 г.
PsTools(5 МБ)
Введение
Служебные программы, такие как Telnet и программы удаленного управления, такие как компьютер Symantec Anywhere, позволяют выполнять программы на удаленных системах, но их может быть трудно настроить и потребовать установки клиентского программного обеспечения в удаленных системах, к которым вы хотите получить доступ. PsExec — это легкая замена telnet, которая позволяет выполнять процессы в других системах, в комплекте с полным взаимодействием консольных приложений без необходимости вручную устанавливать клиентское программное обеспечение. Наиболее эффективные способы использования PsExec включают запуск интерактивных командных строк в удаленных системах и средства удаленного включения, такие как IpConfig, которые в противном случае не могут отображать сведения об удаленных системах.
Примечание. Некоторые антивирусные сканеры сообщают, что один или несколько средств заражены вирусом "удаленного администратора". Ни один из PsTools не содержит вирусов, но они были использованы вирусами, поэтому они запускают уведомления о вирусах.
Установка
Просто скопируйте PsExec в путь к исполняемому файлу. При вводе "psexec" отображается синтаксис использования.
Использование программы PsExec
См. статью Марка в выпуске журнала Windows IT Pro magazine за июль 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, введите "-a 2,4". |
-c | Скопируйте указанный исполняемый файл в удаленную систему для выполнения. Если этот параметр не указан, приложение должно находиться в системном пути в удаленной системе. |
-d | Не дожидайтесь завершения процесса (неинтерактивный). |
-e | Не загружает профиль указанной учетной записи. |
-f | Скопируйте указанную программу, даже если файл уже существует в удаленной системе. |
-i | Запустите программу, чтобы она взаимодействовала с рабочим столом указанного сеанса в удаленной системе. Если сеанс не указан, процесс выполняется в сеансе консоли. Этот флаг требуется при попытке запуска консольных приложений в интерактивном режиме (с перенаправлением стандартного ввода-вывода). |
-h | Если целевая система — Vista или более поздняя, процесс выполняется с маркером учетной записи с повышенными привилегиями, если он доступен. |
-l | Запуск процесса от имени ограниченного пользователя (удаляет группу "Администраторы" и разрешает доступ только к привилегиям, назначенным группе "Пользователи"). В Windows Vista процесс выполняется с низкой целостностью. |
-n | Указывает время ожидания в секундах при подключении к удаленным компьютерам. |
-p | Указывает необязательный пароль для имени пользователя. Если этот параметр не указан, вам будет предложено ввести скрытый пароль. |
-r | Указывает имя удаленной службы для создания или взаимодействия с ней. |
-s | Запустите удаленный процесс в системной учетной записи. |
-u | Указывает необязательное имя пользователя для входа на удаленный компьютер. |
-v | Копируйте указанный файл, только если он имеет более высокий номер версии или более новый, чем в удаленной системе. |
-w | Задайте рабочий каталог процесса (относительно удаленного компьютера). |
-x | Отображение пользовательского интерфейса на защищенном рабочем столе Winlogon (только для локальной системы). |
-Приоритет | Указывает -low, -belownormal, -abovenormal, -high или -realtime для запуска процесса с другим приоритетом. Используйте -background для запуска с низким уровнем памяти и приоритетом ввода-вывода в Vista. |
Компьютере | Направляйте 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
Чтобы запустить интернет-Обозреватель с ограниченными правами пользователя, используйте следующую команду:
psexec -l -d "c:\program files\internet explorer\iexplore.exe"
PsTools(5 МБ)
Средства PSTools
PsExec входит в состав растущего набора средств командной строки Sysinternals, которые помогают в администрировании локальных и удаленных систем под названием PsTools.
Выполняется в:
- Клиент: Windows 8.1 и выше.
- Сервер: Windows Server 2012 и выше.