Любой компьютер может выполнять не только клиентские, но и серверные задачи, примером чего является удаленное администрирование средствами RDP, VNC, TeamViewer и других подобных инструментов. Поскольку они имеют графический интерфейс, большинство администраторов предпочитают использовать их, однако те, кто имеют навыки работы с командной строкой, наверняка предпочтут им консольные средства, например, PCExec.
Содержание статьи:
Что такое PCExec
PCExec – это бесплатная портативная утилита, входящая в состав пакета PcTools от компании Sysinternals и предназначенная для удаленного запуска и управления процессами с использованием учетных данных любых пользователей. Несмотря на отсутствие графического интерфейса, PCExec проста в использовании, при этом она значительно быстрее аналогичных программ с GUI. Кроме того, она поддерживает перенаправление вывода консоли на локальный компьютер, благодаря чему при работе с инструментом возникает ощущение, что действия выполняются в локальной системе.
Требования к PCExec
Чтобы иметь возможность пользоваться PCExec, на локальном и сетевом компьютере должны работать службы «Сервер» и «Рабочая станция», также на удаленном ПК должен быть доступен сетевой ресурс Admin$.
Статус службы проверяем в оснастке services.msc,
доступность каталога Admin$ можно проверить в PowerShell, выполнив команду net share.
В Windows эти ресурсы обычно активны по умолчанию.
Естественно, на обоих ПК должно быть включено сетевое обнаружение.
Как пользоваться PCExec
Скачать архив с утилитами PcTool можно с официального сайта:
docs.microsoft.com/en-us/sysinternals/downloads/psexec
Архив распаковываем, находим файл PsExec.exe или PsExec64.exe (в зависимости от разрядности) и копируем его в системный каталог %windir%\System32 на серверном и клиентском компьютерах.
Синтаксис PsExec
Команда запуска PsExec на серверном компьютере имеет следующий вид:
psexec \\компьютер -u user -p pass key команда аргумент
- \\компьютер – имя сетевого компьютера или его локальный IP-адрес.
- user – название учетной записи сетевого компьютера.
- pass – пароль учетной записи.
- команда – выполняемая на удаленном ПК команда/файл.
- key – ключи PsExec (если необходимы)
- аргумент – опциональные ключи команды (если имеются и необходимы).
Возможен также сокращенный вариант команды без указания пользователя и пароля, только с именем ПК или его IP.
В этом случае будут использоваться права текущего пользователя.
Практическое применение PsExec
А теперь приведем простой пример практического применения PsExec.
Допустим, вы хотите запустить на сетевом компьютере с IP 192.168.0.76 командную строку.
Откройте на серверном компьютере PowerShell и выполните команду следующего вида, где bot007 – имя пользователя, а 11111 – его пароль :
.\psexec \\192.168.0.76 -u bot007 -p 11111 cmd
В результате изменится заголовок и приглашение в консоли, из которого исчезнет «PS», но самое главное – отныне все выполняемые команды станут выполняться уже на удаленном компьютере.
Чтобы выйти из консоли, выполняем команду exit – в случае успеха команда вернет уведомление с кодом ошибки 0 (error code 0 это не ошибка, а отсутствие ошибки).
Это самый минимум, что нужно знать о PsExec, но даже этого может оказаться вполне достаточно для выполнения на сетевом компьютере множества базовых операций.
Но еще больше интересного вы откроете, если изучите параметры запуска PsExec. Их не так уже и много, но среди них имеются весьма полезные, которые вам наверняка пригодятся.
А еще PsExec может использоваться для повышения прав в локальной системе, но об этом и другом мы поговорим уже в следующий раз.
Добавить комментарий