Выполнение команд на удаленном компьютере — задача довольно распространенная. Это может быть необходимо для изменения настроек системы, установки или удаления программ и много еще для чего. Для решения подобных задач есть довольно много различных инструментов, начиная с серьезных программных комплексов типа System Center Configuration Manager и заканчивая скромными утилитами командной строки . Об одной из таких утилит и пойдет речь в этой статье.
Утилита PsExec входит в состав пакета PsTools компании Sysinternals. Она позволяет выполнять команды на удаленных компьютерах и при этом не требует установки в систему. Для использования утилиты достаточно просто скопировать ее в папку с исполняемыми файлами (напр. C:Windowssystem32) и запустить из любой оболочки командной строки: Cmd или PowerShell.
Принцип работы программы состоит в следующем: в ресурсах исполняемого файла PsExec.exe находится еще один исполняемый файл – PSEXESVC, который является службой Windows. Перед выполнением команды PsExec распаковывает этот ресурс в скрытую административную папку удалённого компьютера Admin$ (C:Windows), в файл C:Windowssystem32psexesvc.exe.
Включаем удаленный компьютер из программы Anydesk
Примечание. Если вы с помощью ключа -c указали программе, что необходимо скопировать исполняемые файлы на эту систему, они тоже скопируются в эту папку.
После завершения копирования PsExec устанавливает и запускает службу, используя API функции Windows для управления службами. Затем, после запуска PSEXESVC между ним и PsExec устанавливается соединение для передачи данных (ввода команд и получения результатов). По завершению работы PsExec останавливает службу и удаляет её с целевого компьютера.
Синтаксис PsExec выглядит следующим образом:
psexec \компьютер [-u пользователь [-p пароль]] программа [аргументы]
Имя пользователя и пароль можно и не задавать, тогда удаленный процесс запускается из под той же учетной записи, что и программа PsExec. Однако поскольку удаленный процесс является олицетворением, то он не будет иметь доступа к сетевым ресурсам удаленной системы. Если же задать имя пользователя, то удаленный процесс запустится из под указанной учетной записи и получит доступ к тем же сетевым ресурсам удаленной системы, что и данная учетная запись. Однако имейте ввиду, что пароль передается в удаленную систему открытым текстом.
В качестве примера очистим кэш dns на удаленном компьютере SRV1:
psexec \SRV1 ipconfig /flushdns
Команда будет запущена на компьютере SRV1 под вашими учетными данными. После завершения работы ipconfig весь текстовый вывод будет передан на ваш компьютер, а кроме того будет возвращён код выполнения команды (error code). В случае если команда выполнилась успешно, он будет равен 0.
Если нужно выполнить несколько команд, то лучше установить с удаленным компьютером интерактивный сеанс. Для этого вводим команду psexec \SRV1 cmd . Теперь команды, вводимые на локальном компьютере будут выполняться на удаленном компьютере SRV1.
Удаленный доступ к компьютеру, как подключить удаленный рабочий стол Windows | Заработок в интернете
И еще один интересный способ использования утилиты PsExec. Если не указывать имя компьютера, то по умолчанию команда выполняется в локальной системе. Используя ключ -s можно запускать программы под учетной записью системы. Например, запустим сеанс командной строки: psexec -s cmd и затем командой whoami проверим, под каким пользователем мы сейчас работаем. Эта возможность может пригодиться для отладки программ или доступа к скрытым разделам реестра SAM и SECURITY.
Ну и несколько слов о ключах программы. Все описывать не буду, расскажу о наиболее интересных:
-c
Указанная программа копируется в удаленную систему для выполнения. Например:
psexec \SRV1 -c test.exe
Если этот параметр не задан, то приложение должно находиться в системной папке удаленного компьютера. Если же на удаленном компьютере такая программа уже есть и находится не в системном каталоге, то необходимо указать к ней полный путь (если имя программы содержит пробелы, то его необходимо поместить в кавычки):
psexec \SRV1 «c:program filestest.exe»
Если вместе с ключом -c использовать ключ -f то даже если программа уже есть в удаленной системе, она будет перезаписана. А с ключом -v она перезапишется только в том случае, если копируемая версия программы более новая чем та, что установлена в системе.
-i
Работа программы в интерактивном режиме. По умолчанию PsExec выполняет команды в скрытом режиме, то есть на системе где выполняется команда, не выводятся никакие окна или диалоги. Однако есть возможность изменить это с помощью ключа -i . После него можно указать номер сессии, в которой выводить окна, а можно и не указывать, тогда интерфейс будет отображен в консольной сессии.
-d
Указывает, что не нужно ждать завершения приложения. В этом случае мы не получим выходных данных от консольной утилиты, но зато сможем не дожидаясь завершения предыдущей команды запускать следующие. Этот параметр следует использовать только при запуске неинтерактивных приложений.
-h
Используется для запуска программы в режиме повышения полномочий. Может потребоваться в операционных системах Windows Vista и выше для запуска некоторых программ, вносящих изменения в настройки системы (например regedit).
-l
А с помощью этого ключа можно наоборот понизить полномочия. При запуске процесса пользователю вне зависимости от его принадлежности к группе администраторов предоставляются ограниченные права (права группы «администраторы» отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»).
Полную справочную информацию о всех ключах программы можно получить, просто введя команду psexec в командной строке без параметров.
Источник: windowsnotes.ru
Запуск PsExec и примеры использования на удаленном компьютере
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 «HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem» /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
4. Подключение к командной строке Windows удаленного компьютера.
psexec \172.16.0.121 cmd
После запуска cmd поменялось окно приветствия — это означает, что в терминал загрузилась среда исполнения команд удаленного компьютера.
Сейчас мы можем полноценно работать с командной строкой удаленного компьютера. Для примера, наберем команду ipconfig, которая нам покажет конфигурацию сетевого интерфейса. Для выхода из удаленной консоли и возврата в свою среду используем команду exit.
Список всех параметров запуска Psexec.
-a
Процессоры, на которых можно запустить приложение, отделяются запятыми, при этом процессоры нумеруются, начиная с 1. Например, чтобы запустить приложение на процессорах втором и четвертом, введите «-a 2,4»
-c
Указанная программа копируется в удаленную систему для выполнения. Если этот параметр не задан, то приложение должно находиться в системной папке удаленной системы.
-d
Указывает, что не нужно ждать завершения приложения. Этот параметр следует использовать только при запуске неинтерактивных приложений.
-e
Указанный профиль учетной записи не загружается.
-f
Указанная программа копируется в удаленную систему, даже если такой файл в удаленной системе уже есть.
-i
Запускаемая программа получает доступ к рабочему столу указанного сеанса в удаленной системе. Если сеанс не задан, то процесс выполняется в консольном сеансе.
-l
При запуске процесса пользователю предоставляются ограниченные права (права группы администраторов отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»). В ОС Windows Vista процесс запускается с низким уровнем благонадежности.
-n
Позволяет задать задержку подключения к удаленным компьютерам (в секундах).
-p
Позволяет указать необязательный пароль для имени пользователя. Если этот параметр опущен, то будет выдан запрос на ввод пароля, при этом пароль не будет отображаться на экране.
-s
Удаленный процесс запускается из системной учетной записи.
-u
Позволяет указать необязательное имя пользователя для входа в удаленную систему.
-v
Указанный файл копируется в удаленную систему вместо уже имеющегося только при условии, что номер его версии выше или он более новый.
-w
Позволяет указать для процесса рабочий каталог (путь внутри удаленной системы).
-x
Отображает интерфейс пользователя на рабочем столе Winlogon (только в локальной системе).
Источник: soft-setup.ru
10 бесплатных программ для удалённого доступа к компьютеру
С их помощью можно решать технические проблемы близких или использовать ресурсы устройств на расстоянии.
Автор Лайфхакера, инженер-механик
Перечисленные программы позволяют контролировать ПК с других компьютеров или мобильных устройств через интернет. Получив удалённый доступ к устройству, вы сможете управлять им так, будто оно находится рядом: менять настройки, запускать установленные приложения, просматривать, редактировать и копировать файлы.
В статье вы увидите такие термины, как «клиент» и «сервер».
Клиент — это любое устройство (ПК, планшет или смартфон), а сервер — удалённый компьютер, к которому оно подключается.
1. Удалённый помощник (Microsoft Remote Assistance)
- К каким платформам можно подключаться: Windows.
- С каких платформ возможно подключение: Windows.
«Удалённый помощник» — встроенная в Windows утилита, благодаря которой можно быстро подключать компьютеры друг к другу без сторонних программ. Этот способ не позволяет обмениваться файлами. Но к вашим услугам полный доступ к удалённому компьютеру, возможность совместной работы с другим пользователем и текстовый чат.
Инструкция для сервера
- Запустите утилиту. Для этого наберите в поиске по системе «Удалённый помощник». Если у вас Windows 10, ищите по запросу MsrA. Кликните правой кнопкой мыши по найденному элементу и выберите «Запуск от имени администратора».
- В открывшемся окне щёлкните «Пригласить того, кому вы доверяете, для оказания помощи». Если система сообщит, что компьютер не настроен, нажмите «Исправить» и следуйте подсказкам. Возможно, после изменения настроек придётся перезапустить утилиту.
- Когда помощник предложит выбрать способ приглашения, кликните «Сохранить приглашение как файл». Затем введите его название, папку хранения и подтвердите создание файла.
- Когда файл появится в указанном месте, на экране отобразится окно с паролем. Скопируйте пароль и отправьте его вместе с файлом клиенту по почте или любым другим способом.
- Дождитесь запроса на подключение от клиента и одобрите его.
Инструкция для клиента
- Откройте файл, созданный сервером, и введите полученный пароль. После этого вы увидите экран удалённого компьютера и сможете наблюдать за ним в специальном окне.
- Чтобы управлять файлами и программами чужого компьютера так, будто вы находитесь рядом с ним, кликните в верхнем меню «Запросить управление» и дождитесь ответа от сервера.
Файл и пароль являются одноразовыми, для следующего сеанса они уже не подойдут.
2. Удалённый рабочий стол (Microsoft Remote Desktop)
- К каким платформам можно подключаться: Windows (только в редакциях Professional, Enterprise и Ultimate).
- С каких платформ возможно подключение: Windows, macOS, Android и iOS.
Это средство представляет собой ещё одну встроенную в Windows программу, предназначенную для удалённого доступа. От предыдущей она отличается прежде всего тем, что выступающий сервером компьютер нельзя использовать во время подключения: его экран автоматически блокируется до конца сеанса.
Зато клиентом может быть Mac и даже мобильные устройства. Кроме того, подключённый пользователь может копировать файлы с удалённого компьютера через общий буфер обмена.
Чтобы использовать «Удалённый рабочий стол», нужно правильно настроить сервер. Это займёт у вас некоторое время. Но если не хотите разбираться в IP‑адресах и сетевых портах, можете использовать другие программы из этой статьи. Они гораздо проще.
Инструкция для сервера
- Включите функцию «Удалённый рабочий стол». В Windows 10 это можно сделать в разделе «Параметры» → «Система» → «Удалённый рабочий стол». В старых версиях ОС эта настройка может находиться в другом месте.
- Узнайте свои локальный и публичный IP‑адреса, к примеру с помощью сервиса 2IP. Если устройством‑клиентом управляет другой человек, сообщите ему публичный IP, а также логин и пароль от своей учётной записи Windows.
- Настройте на роутере перенаправление портов (проброс портов или port forwarding). Эта функция открывает доступ к вашему компьютеру для других устройств через интернет. Процесс настройки на разных роутерах отличается, инструкцию для своей модели вы можете найти на сайте производителя.
В общих чертах действия сводятся к следующему. Вы заходите в специальный раздел настроек роутера и создаёте виртуальный сервер, прописывая в его параметрах локальный IP‑адрес и порт 3389.
Открытие доступа к компьютеру через перенаправление портов создаёт новые лазейки для сетевых атак. Если боитесь вмешательства злоумышленников, ещё раз подумайте, стоит ли использовать именно этот способ.
Инструкция для клиента
- Наберите в поиске по системе «Подключение к удалённому рабочему столу» и запустите найденную утилиту. Или нажмите клавиши Win+R, введите команду mstsc и нажмите Enter.
- В открывшемся окне введите публичный IP‑адрес компьютера, который выступает сервером. Затем укажите логин и пароль от его учётной записи Windows.
После этого вы получите полный контроль над рабочим столом удалённого компьютера.
Microsoft Corporation
Цена: Бесплатно
Microsoft Corporation
Цена: Бесплатно
Microsoft Corporation
Цена: Бесплатно
3. Общий экран (Screen Sharing)
- К каким платформам можно подключаться: macOS.
- С каких платформ возможно подключение: macOS.
Пожалуй, простейший способ установить удалённое подключение между двумя компьютерами Mac — сделать это с помощью стандартного macOS‑приложения «Общий экран». Сторонние утилиты для этого вам не понадобятся.
Чтобы подключиться к удалённому компьютеру, нужно найти в поиске Spotlight «Общий экран» и запустить эту программу. В появившемся окошке следует набрать Apple ID удалённого компьютера или имя его пользователя, если оно есть в списке контактов на текущем Mac. После этого остаётся только отправить запрос на подключение.
Получив запрос, пользователь на стороне сервера может разрешить полное управление своим компьютером и его содержимым или только пассивное наблюдение.
4. Удалённый рабочий стол Chrome (Chrome Remote Desktop)
- К каким платформам можно подключаться: Windows, macOS, Linux.
- С каких платформ возможно подключение: Windows, macOS, Linux, Android, iOS.
«Удалённый рабочий стол Chrome» — очень простая кросс‑платформенная программа для организации удалённого доступа. Её десктопная версия представляет собой приложение для Google Chrome, которое позволяет управлять всей системой без лишних настроек.
В десктопной версии «Удалённый рабочий стол Chrome» отображаются два раздела меню: «Удалённый доступ» и «Удалённая поддержка». В первом необходимо задать имя и пароль для подключения к компьютеру. Во втором можно сгенерировать код для соединения (сервер), также ввести код (клиент) для подключения к удалённому ПК.
Мобильное приложение «Удалённый рабочий стол Chrome» предоставляет удалённый доступ к компьютеру. При этом подключаться в обратную сторону — с компьютера к мобильному устройству — нельзя. В то же время десктопная версия может сделать компьютер как клиентом, так и сервером.
Источник: lifehacker.ru