Psexec будет очень полезна для решения задач связанных с удаленным администрированием. Она позволяет удаленно выполнять команды командной строки Windows и незаметно устанавливать программы на любой компьютер в сети со своего компьютера. Эта утилита входит в состав набора инструментов командной строки PsTools.
Содержание
Psexec будет очень полезна для решения задач связанных с удаленным администрированием. Она позволяет удаленно выполнять команды командной строки Windows и незаметно устанавливать программы на любой компьютер в сети со своего компьютера. Эта утилита входит в состав набора инструментов командной строки PsTools.
Установка и запуск PsExec.
Скачать утилиту PsExec можно с официального сайта Microsoft совместно с набором инструментов PsTools: https://docs.microsoft.com/en-us/sysinternals/downloads/psexec
Утилита PsExec не требует установки. Достаточно загрузить ее в папку на любой диск и выполнять запуск из этой директории. В моем случае программа будет находиться в директории c:\pstools.
Для того, чтобы psexec беспрепятственно запустился на удаленном компьютере с Windows версии 7 и позднее, на этих самых удаленных компьютерах, должны быть включены общие административные ресурсы \C$ \D$ \IPC$ \Admin$.
Для включения административных ресурсов нужно добавить в реестр удаленного компьютера запись:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f
На Windows 10 административные ресурсы включены по-умолчанию.
Узнать включены ли административные ресурсы можно с помощью команды net share.

Запуск PsExec выполняется через командную строку Windows, так как утилита является консольной.
Для работы с утилитой запускаем командную строку CMD и переходим в папку с программой psexec.
cd c:\pstools
Примеры использования PsExec.
Общий синтаксис запуска программы PsExec выглядит так:
psexec \\компьютер [-u пользователь [-p пароль]] программа [аргументы]
Рассмотрим несколько примеров для понимания работы утилиты PsExec.
1. Узнаем конфигурацию сетевого интерфейса компьютера в сети.
Запускаем программу psexec с указанием ip-адреса удаленного компьютера и командой, которую нужно выполнить.
psexec \\192.168.2.100 ipconfig
В этом примере запуск выполняется для компьютера, находящегося в домене и cmd работает от имени пользователя, состоящего в группе "Администраторы домена". Поэтому в параметрах запуска psexec не указаны логин и пароль администратора удаленного компьютера.

Для выполнения PsExec на компьютере от имени локального администратора удаленного компьютера необходимо запустить утилиту с параметрами: -u (имя пользователя) -p (пароль пользователя).
psexec \\192.168.2.100 -u admin -p PasSW0rD ipconfig
2. Запускаем исполняемый файл со своего компьютера на удаленный.
psexec \\192.168.2.100 -c c:\patch.bat
Параметр -c используется, чтобы скопировать файл из локальной операционной системы в удаленную и запустить его там на исполнение.

Если запустить psexec без параметра -с, то указанная директория с запускаемым файлом будет запрашиваться на удаленной системе.
С параметром -с может применяться -f и -v, которые используются для того чтобы перезаписать копируемый файл, если он уже существует. Это может понадобиться, если были внесены изменения в файл и его нужно повторно запустить в удаленной системе.
3. Запуск PsExec на нескольких компьютерах.
Запуск psexec на двух или трех удаленных компьютерах можно выполнить путем перечисления их имен или ip-адресов.
psexec \\Server1, Server2 -c c:\patch.bat
Когда целевых компьютеров десятки, то перечислять их каждый раз через запятую неудобно. В этом случае можно воспользоватся параметром @ и указать текстовый файл, в котором будет задан список ip адресов компьютеров.
psexec @ip-list.txt cmd -c c:\patch.bat
4. Подключение к командной строке Windows удаленного компьютера.
psexec \\172.16.0.121 cmd

После запуска cmd поменялось окно приветствия - это означает, что в терминал загрузилась среда исполнения команд удаленного компьютера.
Сейчас мы можем полноценно работать с командной строкой удаленного компьютера. Для примера, наберем команду ipconfig, которая нам покажет конфигурацию сетевого интерфейса. Для выхода из удаленной консоли и возврата в свою среду используем команду exit.
Список всех параметров запуска Psexec.
@файл
Указывает программе PsExec, что нужно запустить приложение на всех компьютерах, перечисленных в заданном текстовом файле.
-a
Процессоры, на которых можно запустить приложение, отделяются запятыми, при этом процессоры нумеруются, начиная с 1. Например, чтобы запустить приложение на процессорах втором и четвертом, введите «-a 2,4»
-c
Указанная программа копируется в удаленную систему для выполнения. Если этот параметр не задан, то приложение должно находиться в системной папке удаленной системы.
-d
Указывает, что не нужно ждать завершения приложения. Этот параметр следует использовать только при запуске неинтерактивных приложений.
-e
Указанный профиль учетной записи не загружается.
-f
Указанная программа копируется в удаленную систему, даже если такой файл в удаленной системе уже есть.
-i
Запускаемая программа получает доступ к рабочему столу указанного сеанса в удаленной системе. Если сеанс не задан, то процесс выполняется в консольном сеансе.
-l
При запуске процесса пользователю предоставляются ограниченные права (права группы администраторов отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»). В ОС Windows Vista процесс запускается с низким уровнем благонадежности.
-n
Позволяет задать задержку подключения к удаленным компьютерам (в секундах).
-p
Позволяет указать необязательный пароль для имени пользователя. Если этот параметр опущен, то будет выдан запрос на ввод пароля, при этом пароль не будет отображаться на экране.
-s
Удаленный процесс запускается из системной учетной записи.
-u
Позволяет указать необязательное имя пользователя для входа в удаленную систему.
-v
Указанный файл копируется в удаленную систему вместо уже имеющегося только при условии, что номер его версии выше или он более новый.
-w
Позволяет указать для процесса рабочий каталог (путь внутри удаленной системы).
-x
Отображает интерфейс пользователя на рабочем столе Winlogon (только в локальной системе).