Удаленный запуск программ PsExec
PsExec позволяет выполнять программы на удаленном компьютере. Однако ее истинная мощь заключается в способности перенаправлять на локальный дисплей выходные данные консольных программ, работающих на удаленном компьютере. Если программа, которую необходимо запустить на удаленном компьютере, отсутствует, у PsExec есть ключ командной строки, который позволяет скопировать эту программу на удаленный компьютер.
psexec [computer [, computer2 [. ] I @file][-u user [-p psswd]][-n s][-1][-s|-e] [-i][-c [-f|-v]][-w directory][-d][-][-a n,n. ] cmd [arguments]
Запуск приложения на удаленном ПК в локальной сети через wmic
Пытаюсь на удаленной машине запустить процесс установки, проблема в том, что процес требует права администратора на удаленной машине, можно ли сделать скрытый runas программы?
Проблема вторая, если запускать программу, которой не требуются права администратора, например калькулятор calc.exe, процесс создается,но программа не отображается, просто процесс висит и все.
В чем проблема? Запуская скрипт со своей локальной машины с правами доменного администратора.
Запуск приложения на удаленном ПК в локальной сети
Подскажите как реализовать запуск приложения на удаленном компьютере пользователя в локальной сети.
WMIC Запуск программы на удаленном компьютере из сетевой папки
Задача — запустить на удаленном компьютере программу из сетевой папки. Использую следующую команду.
Запуск приложения на удаленном сервере через virtual drivers
Добрый день, есть удаленный сервер HP на нем стоит ОС hyper-v server 2012 r2. Я к этому серверу.
Ограничить запуск приложения по локальной сети
Добрый день! Есть утилита (exe-шник), которая не требует установки. Как сделать так, чтобы.
Я как понял из литературы, процесс запускается в отдельной сессии для wmi и поэтому не отображается у пользователя, хотя в процессах висит. Походу убрана такая возможность из-за соображения безопасности.
CMD/BAT: удаленный запуск процессов, используем PsExec из PsTools
Работаем с утилитой PsExec из комплекта PsTools от Марка Руссиновича (Mark Russinovich).
http://technet.microsoft.com/en-us/sysi … 97553.aspx
PsExec — легкая замена telnet, которая позволяет вам выполнять процессы на других системах с полноценным функционалом консольных приложений, не имея необходимости вручную устанавливать клиентское программное обеспечение. Самое эффектное использование PsExec включает интерактивные приглашения ко вводу команды на отдаленных системах и отдаленный запуск таких инструментальных средств, как IpConfig. Обратите внимание: некоторые антивирусные сканеры сообщают, что один или больше файлов заражены вирусом «remote admin». Ни одна из утилит PsTools не содержит вирусов, но они использовались вирусами, что и является причиной, почему они вызывают вирусные уведомления.
Инсталляция: просто скопируйте psexec.exe туда, откуда его можно вызвать без точного указания пути, например, в C:WINDOWSsystem32. Команда «psexec» отобразит свой синтаксис использования.
Использование:
psexec [\computer[,computer2[. ] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-][-a n,n. ] cmd [arguments]
computer
Указывает PsExec выполнить приложение на определенных компьютерах. Если вы опускаете имя компьютера, PsExec выполняет приложение на текущей системе. Если вы указывате имя «\*», PsExec выполняет приложение на всех компьютерах в текущем домене.
@file
Указывает PsExec выполнить команду на каждом компьютере, перечисленном в определенном текстовом файле.
-a
Процессоры, на которых может выполниться приложение. Перечисляются через запятую. 1 — первый центральный процессор. Например, чтобы выполнить приложение на центральном процессоре 2 и центральном процессоре 4, укажите: «-a 2,4».
-c
Скопировать указанную программу на отдаленную систему для выполнения. Если вы опускаете эту опцию, приложение должно быть «в путях» (path) отдаленной системы.
-d
Не ждать завершения приложения.
-e
Не загружать профиль указанной учетной записи.
-f
Скопировать указанную программу на отдаленную систему, даже если файл уже существует на отдаленной системе.
-i
Выполнить программу так, чтобы она взаимодействовала с рабочим столом указанного сеанса на отдаленной системе. Если никакой сеанс не определен, процесс работает в консольном сеансе.
-l
Выполнить процесс под ограниченным пользователем (игнорирует группу Administrators и разрешает только привилегии, назначенные группе Users). На Windows Vista процесс выполняется как Low Integrity.
-n
Определяет таймаут в секундах для соединения с отдаленными компьютерами.
-p
Определяет опциональный пароль пользователя. Если вы опустите это, будет запрошен ввод пароля.
-s
Выполнить удаленный процесс под системной учетной записью (System).
-u
Определяет опциональное имя пользователя для входа в систему на удаленном компьютере.
-v
Скопировать указанный файл, только если он имеет более высокий номер версии или более нов, чем расположенный на удаленной системе.
-w
Установить рабочий каталог процесса (относительно удаленного компьютера).
-x
Отобразить UI на рабочем столе Winlogon (только для местной системы).
-priority
Определяет -low, -belownormal, -abovenormal, -high или -realtime, чтобы выполнить процесс с различным приоритетом. Используйте -background, чтобы выполнить команду в «low memory» и «I/O priority» на Vista.
program
Имя программы для запуска.
arguments
Параметры для передачи (обратите внимание, что пути к файлам должны быть абсолютными путями на целевой системе).
Вы можете заключить приложения, в именах которых есть пробелы, в кавычки, например:
psexec \marklap «c:long nameapp.exe»
Ввод передаётся удаленной системе, когда Вы нажимаете клавишу ENTER, а Ctrl-C завершает удаленный процесс.
Если вы опускаете имя пользователя, удаленный процесс работает в той же самой учетной записи, под которой вы выполняете PsExec, и в этом случае удаленный процесс не будет иметь доступа к сетевым ресурсам на удаленной системе. Когда вы определяете имя пользователя, удаленный процесс выполняется в определенной учетной записи и будет иметь доступ к любым сетевым ресурсам, к которым у этой учетной записи есть доступ. Заметьте, что пароль передаётся удаленной системе открытым текстом.
Вы можете использовать текущую версию PsExec как замену Runas, когда адресат — местная система, потому что PsExec не требует, чтобы вы были администратором.
Примеры
Следующая команда запускает интерактивную командную строку на компьютере \marklap:
psexec \marklap cmd
Эти команды выполняют IpConfig на удаленной системе с переключателем /all, и отображают получающийся вывод в местном контексте:
psexec \marklap ipconfig /all
psexec -u domainnameusername -p password \marklap ipconfig /all
Эта команда копирует программу test.exe на уаленную систему и выполняет её в интерактивном режиме:
psexec \marklap -c test.exe
Определите полный путь к программе, которая уже установлена на удаленной системе, если она находится не «в путях» системы:
psexec \marklap c:bintest.exe
Выполните Regedit в интерактивном режиме под системной учетной записью, чтобы просмотреть содержимое ключей SAM И SECURITY:
psexec -i -d -s c:windowsregedit.exe
Чтобы выполнить Internet Explorer с привилегиями ограниченного пользователя, используйте такую команду:
psexec -l -d «c:program filesinternet exploreriexplore.exe»
Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.
Установка
Просто скопируйте PsExec на путь к исполняемому файлу. При вводе PsExec отображается его синтаксис использования.
ознакомьтесь с разделом 2004 июля Windows ит Pro Magazine для получения статьи о пометке , посвященной расширенному использованию PsExec.
Использование:
Параметр | Описание |
---|---|
-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 или-реального времени для запуска процесса с другим приоритетом. Используйте-Background для запуска с нехваткой памяти и приоритетом ввода-вывода в Vista. |
компьютерами | Direct PsExec для запуска приложения на удаленном компьютере или указанных компьютерах. Если опустить имя компьютера, программа PsExec запустит приложение в локальной системе и при указании подстановочного знака ( *) программа PsExec выполнит команду на всех компьютерах в текущем домене. |
@file | PsExec выполнит команду на каждом из компьютеров, перечисленных в файле. |
cmd | Имя выполняемого приложения. |
даваемых | Аргументы для передачи (Обратите внимание, что пути к файлам должны быть абсолютными путями в целевой системе). |
-AcceptEula | Этот флаг подавляет отображение диалогового окна лицензии. |
Приложения, имена которых содержат пробелы, можно заключать в кавычки, например
Входные данные передаются в удаленную систему только при нажатии клавиши ВВОД. При нажатии клавиш CTRL + C удаленный процесс завершается.
Если не указать имя пользователя, процесс будет выполняться в контексте вашей учетной записи в удаленной системе, но не будет иметь доступа к сетевым ресурсам (так как это олицетворение). Укажите допустимое имя пользователя в DomainUser синтаксисе, если удаленный процесс требует доступа к сетевым ресурсам или для запуска в другой учетной записи. Обратите внимание, что пароль и команда шифруются при передаче в удаленную систему.
Коды ошибок, возвращаемые PsExec, относятся к выполняемым приложениям, а не PsExec.
PsExec может быть опасным
Очень важно понимать, насколько мощен PsExec и как его можно использовать для компрометации компьютера при использовании в небезопасной среде.
Например, сочетание -c , -u и -p определенно позволит любому, кто подключен к компьютеру по сети и обладает знаниями о учетные данные администратора, выполнять секретные вредоносные программы с чьими-либо учетными данными.
Даже этот последний, вполне приемлемый пример из предыдущего раздела приобретает совершенно новую цель, если учесть, что вместо CCleaner кто-то может установить все что угодно, в фоновом режиме, и никакие окна не показывают, что что-то происходит.
Все это говорит о том, что, учитывая необходимые изменения в брандмауэре и знание учетных данных администратора, кто-то должен был бы знать, нет оснований для беспокойства, поскольку пароль администратора на удаленном компьютере является сложным и приняты другие основные меры безопасности.
Некоторые антивирусные программы ошибочно идентифицируют PsExec как опасный файл, но эти предупреждения можно игнорировать, если вы точно знаете, что используемая вами программа взята из приведенного выше источника Microsoft. Это происходит потому, что известно, что вредоносное ПО использует PsExec для передачи вирусов.
Утилита PsExec и удаленное управление системами
09.09.2020
itpro
Разное
комментария 2
PsExec — это удобная утилита командной строки, с помощью нее можно запускать программы на удаленных Windows системах, перенаправляя данные, которые выводится приложением на экран на локальный ПК. Т.е. при работе с этой утилитой складывается ощущение, что приложение работает локально на вашем ПК. PsExec – бесплатная утилита и ее можно скачать по адресу https://download.sysinternals.com/files/PSTools.zip.
Какие требования к окружению при работе с утилитой PsExec? Для удаленного запуска команд и процессов необходимо, чтобы на удаленном и локальном ПК функционировали службы «Сервер» и «Рабочая станция» (Workstation и Server), а на удаленном компьютере должен быть доступен стандартный общий ресурс Admin$.
Удобство PsExec в том, что ее легко развернуть в сети благодаря возможности удаленной установки, без необходимости устанавливать или настраивать что-либо на каждом. На удаленном ПК PsExec работает в виде службы Windows с таким же именем.
PsExec очень удобна при выполнении множества задач по обслуживанию и администрированию удаленных рабочих станций и серверов. Устанавливать ее не нужно, можно просто скопировать ее в каталог, определенный в переменной %path% (например, C:WindowsSystem32). При запуске команд через PsExec на удаленном ПК запустится служба PsExec (исполняемый файл system32psexesvc.exe), соответственно для нормальной работы вам понадобятся права администратора домена на удаленной машине. Формат запуска и параметры командной строки у утилиты PsExec следующие:
Usage: psexec [computer[,computer2[,…] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-][-a n,n,… ] cmd [arguments]
В том случае, если имя пользователя и пароль не указаны, используются права текущего пользователя:
В принципе эту утилиту можно рассматривать как альтернативу telnet. Внимание: при использовании PsExec будьте осторожны, так как в принципе соединение между сервером и клиентом PsExec не шифруется и данные можно перехватить сетевым сниффером.
Если вам понадобится запустить определенную команду на нескольких компьютерах одновременно (например, shutdown –f –r –t 0 ☺), то их имена или ip-адреса нужно перечислить через запятую, или же поместить в текстовый файл, который выбрать в качестве одного их параметров утилиты PsExec..
При использовании ключа “-c” указанная программа сначала скопируется с вашего ПК на удаленный, а потом выполнится. Ключ “-i” заставляет указанную команду запустится в интерактивном режиме. Если вы хотите, чтобы после запуска определенной команды PsExec не ждал ее окончания, а вывернул вам управление (командную строку), нужно указать параметр “-d”:
Эта команда запустит на удаленной системе процесс проверки диска, а администратор сможет продолжить введение команд.