Как удаленно запустить программу на другом компьютере через cmd

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

Так как задача эта популярная, то и способов её решения есть множество. Начиная от групповых политик (startup/logon сценарии), и заканчивая мощными системами управления, вроде SC Essentials или Configuration Manager/SMS. Но я хочу рассмотреть методы которые доступны сразу из командной строки, и не требуют предварительной подготовки компьютеров, установки агентов и прочей суматохи Достаточно лишь административных полномочий на целевом компьютере.

Сегодня я опишу один из самых древних способов какими я решал эту задачу — это psexec.exe от Microsoft SysInternals, творение Марка Руссиновича. Это утилита командной строки состоящая из одного файла, portable (то есть не требующая установки), и проверенная тысячами админов и временем

Удаленное управление компьютером Windows из командной строки

Использовать её достаточно просто, например просто выполнить команду HostName.exe на компьютере scenic11 можно так:

image

По умолчанию программа дожидается выполнения программы, выводит её результаты (в данном случае имя компьютера — Scenic11) и сообщает код выхода программы (0 — без ошибок).

Разумеется у Psexec есть еще множество других ключей, которые можно посмотреть с помощью команды psexec /?

Например можно запустить процесс на нескольких компьютерах из файла, не ожидая его завершения (ключ -d) и позволив вывести графический интерфейс на экран, то есть интерактивно (-i):

Или если хочется получить интерактивную сессию командной строки на удалённом сервере — просто выполняем следующую команду:

psexec \server1 cmd

Еще несколько примеров и описания параметров есть на странице программы.

А теперь давайте изучим каким образом работает эта утилита

Всё гениально как обычно очень просто В ресурсах psexec.exe содержится еще одна программа (а точнее служба) — psexesvc.exe, которая распаковывается, и копируется на удалённую систему, с помощью скрытой административной общей папки — \КомпьютерADMIN$System32psexesvc.exe. Затем эта служба запускается с использованием стандартных API управления службами (таким же образом как работают sc.exe или оснастка mmc «Службы»). После запуска устанавливается обычное клиент-серверное соединение между psexec.exe и psexesvc.exe, и уже затем запускается приложение, и передается ввод/вывод. То есть хоть сусл агента и не видно, — на самом деле он есть Подробнее можно почитать например тут.

Читайте также:
Как создать консольную программу

Другие способы выполнения команд на удалённом компьютере: WMI, WinRM.

Источник: xaegr.wordpress.com

Доступ к командной строке удаленного компьютера

Утилита PsExec и удаленное управление системами

date

09.09.2020

user

itpro

directory

Разное

comments

комментария 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 следующие:

В том случае, если имя пользователя и пароль не указаны, используются права текущего пользователя:

psexec buh_pc1 cmd.exe
psexec buh_pc1 -u admin -p [email protected] notepad.exe

В принципе эту утилиту можно рассматривать как альтернативу telnet. Внимание: при использовании PsExec будьте осторожны, так как в принципе соединение между сервером и клиентом PsExec не шифруется и данные можно перехватить сетевым сниффером.
Если вам понадобится запустить определенную команду на нескольких компьютерах одновременно (например, shutdown –f –r –t 0 ☺), то их имена или ip-адреса нужно перечислить через запятую, или же поместить в текстовый файл, который выбрать в качестве одного их параметров утилиты PsExec..

Читайте также:
Запуск программы невозможен так как на компьютере отсутствует datachannel dll

psexec buh_pc1, buh_pc2 shutdown –f –r –t 0

При использовании ключа “-c” указанная программа сначала скопируется с вашего ПК на удаленный, а потом выполнится. Ключ “-i” заставляет указанную команду запустится в интерактивном режиме. Если вы хотите, чтобы после запуска определенной команды PsExec не ждал ее окончания, а вывернул вам управление (командную строку), нужно указать параметр “-d”:

psexec -d buh_pc1 chkdsk

Эта команда запустит на удаленной системе процесс проверки диска, а администратор сможет продолжить введение команд.

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

Читайте далее в разделе Разное

page

page

Файловая система exFAT

Консоль удаленного рабочего стола(rdp console)

Ключи реестра Windows, отвечающие за параметры экранной заставки

Источник: winitpro.ru

Выполнение консольных команд на удаленных компьютерах по сети

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

Я использую 2 средства удаленного выполнения консольных команд: PsExec и WinRM, у каждого из них есть свои преимущества.

PsExec

Одним из отличных решений поставленной в заголовке задачи является использование программы PsExec от великого Марка Руссиновича.

Программа работает по клиент-серверному принципу: на локальной машине выполняется клиент, который посылает команды серверу на удаленном компьютере. Особенностью этой программы является то, что серверная часть устанавливается автоматически непосредственно перед выполнением команды, а затем удаляется. Таким образом для выполнения команд на удаленных машинах достаточно иметь на них административные права.

Если PsExec запускается от имени администратора, который входит в тот же домен, что и удаленны компьютер, то никаких учетных данных даже вводить не нужно. В противном случае, их можно указать в командной строке, либо PsExec сама их запросит. PsExec работает на ОС начиная с Windows 2000 и заканчивая 64-битным Windows Server 2008 R2.

Очень полезными в PsExec являются следующие возможности:

Трудно переоценить пользу этой программы, если использовать скрипты и возможности консольных команд, встроенных в Windows.

Читайте также:
Скрытые программы на Андроид для отслеживания действий телефоне

Windows Remote Management

Изначально это была серверная технология для удаленного управления оборудованием, которая появилась в Windows Server 2003 R2 как часть компонента Hardware Management, но недавно Microsoft выпустили пакет Windows Management Framework, который включает в себя PowerShell 2.0 и WinRM 2.0 и устанавливается на клиентские ОС как обновление. Подробности можно прочитать в статье KB968929.

Прелесть WinRM заключается в простоте развертывания в доменной среде через WSUS в качестве факультативного обновления ОС и мощи, которую даёт совместное с PowerShell применение.

Использование WinRM происходит через 2 команды.

winrm.cmd служит для конфигурирования настроек и диагностики клиента и сервера WinRM.

Для того, чтобы сервер WinRM начал принимать команды, должна быть запущена служба Windows Remote Management и произведена её начальная конфигурация. Используйте команду

winrm quickconfig на локальной машине, либо финт ушами
psexec -s \servername winrm quickconfig по сети, используя PsExec от имени системной учетной записи.

Будет предложено автоматически запускать службу WinRM и разрешить уделенные подключения, соглашайтесь 😉

Чтобы успешно подключаться к WinRM серверу (имеется в виду серверная часть, принимающая команды), не входящему в тот же домен, что и ваш клиентский компьютер, необходимо на клиенте этот целевой сервер добавить в «доверенный список» следующей командой:

Для пользователей Windows Vista и Windows 7, работающим не от имени встроенного администратора (обычно так и бывает), нужно выполнить следующую команду

reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

По умолчанию, установлено ограничение на 5 одновременных соединений WinRM от клиента, для увеличения этого числа выполните команду

winrs.exe — клиент для отправки запросов к серверной части. Пример: следующая команда принудительно перезагрузит удаленную систему…

winrs -r:servername shutdown /r /t 0

В доменной среде при отправке команд используются учетные данные запустившего пользователя. Для посыла команд от имени другого пользователя используются ключи -u:user -p:pass. Пример: следующая команда очистит локальный кэш DNS-имён на удаленной системе

winrs -r:servername -u:user -p:pass ipconfig /flushdns

Рубрика Метки Опубликовано Комментарии Ссылки
Tips and Tricks
windows client, windows server, автоматизация, удаленное администрирование, remote administration
2010-02-08, 1:01; обновлено 2011-01-09, 17:02
13 комментариев » | Лента комментариев RSS
Постоянная ссылка | Обратная ссылка

Источник: argon.pro

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru