PSEXEC - настройка сети на удалённом компьютере используя CMD

  • Михаил
  • 12 мин. на прочтение
  • 179
  • 16 Jan 2013
  • 15 May 2023

Подозреваю, что порядочные системные администраторы это всё давно знают и умеют, но я-то не порядочный и бессистемный, так что... Вчера сидел разбирался, как бы мне, не залезая на экран пользователя, поменять настройки сети. И вот что из этого получилось.

Иногда бывает нужно сделать что-то на удалённом компьютере, но так, чтобы не мешать пользователю, не отнимать у него управление компьютером. Одна из таких задач - изменение сетевых параметров. Её вполне возможно выполнить из командной строки, со своего ПК, так что пользователь ничего не увидит на своём экране.

Для этого понадобится иметь на своём компьютере пакет утилит SysinternalsSuite, из которого будет использоваться утилита PsExec, позволяющая запускать процессы на удалённом ПК.

Если SysinternalsSuite до сих пор ещё не было на вашем ПК, то его нужно скачать, распаковать архив, запустить командный интерпретатор Windows cmd, и выполнить несколько команд:

psexec -u Администратор -p password \\10.10.2.132 netsh interface ip set address name="Подключение по локальной сети" source=static addr=10.10.2.132 mask=255.255.248.0 gateway=10.10.0.254 gwmetric=1

Значения ключей команды:

  • -u - имя пользователя, от которого будет запускаться команда на удалённом компьютере (Администратор);
  • -p - пароль;
  • \\10.10.2.132 - IP-адрес компьютера, к которому выполняется подключение;
  • netsh interface ip set address - а это уже команда со своими параметрами, которая будет исполняться на удалённом компьютере, установка параметров IP (для Windows 7 вместо netsh interface ip set address будет netsh interface ipv4 set address);
  • name="Подключение по локальной сети" - имя сетевого подключения. Может отличаться от указанного в примере, поэтому надо уточнять. Сделать это можно через Radmin, только выбрать подключение "Telnet". Откроется чёрное окошко с командной строкой, в котором выполнить команду ipconfig /all. Или с помощью того же PsExec: psexec -u Администратор -p password \\10.10.2.132 ipconfig /all
  • source=static - указывает, что будет назначен статический IP-адрес;
  • addr=10.10.2.132 - собственно, IP-адрес;
  • mask=255.255.248.0 - маска;
  • gateway=10.10.0.254 - шлюз;
  • gwmetric=1 - метрика шлюза.

 

Эта команда не задаёт адреса DNS-серверов. Для добавления/изменения DNS нужно выполнить следующие команды.

Указать DNS-сервер:

psexec -u Администратор -p password \\10.10.2.132 netsh interface ip set dns name="Подключение по локальной сети" source=static addr=77.88.8.88

Добавить ещё один DNS-сервер:

psexec -u Администратор -p password \\10.10.2.132 netsh interface ip add dns name="Подключение по локальной сети" addr=8.8.8.8

Пример:

Проверим доступность хоста

ping 10.10.2.132

Замечательно, начинаем колдовать.

Проверяем текущие настройки сетей хоста

psexec \\10.10.2.132 ipconfig /all

Основной шлюз 10.10.0.19, а нам нужно установить 10.10.0.254. Делаем это.

psexec \\10.10.2.132 netsh interface ip set address name="Подключение по локальной сети" source=static addr=10.10.2.132 mask=255.255.248.0 gateway=10.10.0.254 gwmetric=1

Проверяем