Как запустить приложение windows удаленно

Запуск PsExec и примеры использования на удаленном компьютере

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$.

Для включения административных ресурсов нужно добавить в реестр удаленного компьютера запись:

На Windows 10 административные ресурсы включены по-умолчанию.

Узнать включены ли административные ресурсы можно с помощью команды net share.

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

Для работы с утилитой запускаем командную строку CMD и переходим в папку с программой psexec.

Примеры использования PsExec.

Общий синтаксис запуска программы PsExec выглядит так:

Рассмотрим несколько примеров для понимания работы утилиты PsExec.

1. Узнаем конфигурацию сетевого интерфейса компьютера в сети.

Запускаем программу psexec с указанием ip-адреса удаленного компьютера и командой, которую нужно выполнить.

В этом примере запуск выполняется для компьютера, находящегося в домене и cmd работает от имени пользователя, состоящего в группе «Администраторы домена». Поэтому в параметрах запуска psexec не указаны логин и пароль администратора удаленного компьютера.

Для выполнения PsExec на компьютере от имени локального администратора удаленного компьютера необходимо запустить утилиту с параметрами: -u (имя пользователя) -p (пароль пользователя).

2. Запускаем исполняемый файл со своего компьютера на удаленный.

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

Если запустить psexec без параметра -с, то указанная директория с запускаемым файлом будет запрашиваться на удаленной системе.

С параметром -с может применяться -f и -v, которые используются для того чтобы перезаписать копируемый файл, если он уже существует. Это может понадобиться, если были внесены изменения в файл и его нужно повторно запустить в удаленной системе.

3. Запуск PsExec на нескольких компьютерах.

Запуск psexec на двух или трех удаленных компьютерах можно выполнить путем перечисления их имен или ip-адресов.

Когда целевых компьютеров десятки, то перечислять их каждый раз через запятую неудобно. В этом случае можно воспользоватся параметром @ и указать текстовый файл, в котором будет задан список ip адресов компьютеров.

4. Подключение к командной строке Windows удаленного компьютера.

После запуска cmd поменялось окно приветствия — это означает, что в терминал загрузилась среда исполнения команд удаленного компьютера.

Сейчас мы можем полноценно работать с командной строкой удаленного компьютера. Для примера, наберем команду ipconfig, которая нам покажет конфигурацию сетевого интерфейса. Для выхода из удаленной консоли и возврата в свою среду используем команду exit.

Список всех параметров запуска Psexec.

@файл
Указывает программе PsExec, что нужно запустить приложение на всех компьютерах, перечисленных в заданном текстовом файле.

-a
Процессоры, на которых можно запустить приложение, отделяются запятыми, при этом процессоры нумеруются, начиная с 1. Например, чтобы запустить приложение на процессорах втором и четвертом, введите «-a 2,4»

-c
Указанная программа копируется в удаленную систему для выполнения. Если этот параметр не задан, то приложение должно находиться в системной папке удаленной системы.

-d
Указывает, что не нужно ждать завершения приложения. Этот параметр следует использовать только при запуске неинтерактивных приложений.

-e
Указанный профиль учетной записи не загружается.

-f
Указанная программа копируется в удаленную систему, даже если такой файл в удаленной системе уже есть.

Читайте также:  Стиль оформления меню пуск windows 10

-i
Запускаемая программа получает доступ к рабочему столу указанного сеанса в удаленной системе. Если сеанс не задан, то процесс выполняется в консольном сеансе.

-l
При запуске процесса пользователю предоставляются ограниченные права (права группы администраторов отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»). В ОС Windows Vista процесс запускается с низким уровнем благонадежности.

-n
Позволяет задать задержку подключения к удаленным компьютерам (в секундах).

-p
Позволяет указать необязательный пароль для имени пользователя. Если этот параметр опущен, то будет выдан запрос на ввод пароля, при этом пароль не будет отображаться на экране.

-s
Удаленный процесс запускается из системной учетной записи.

-u
Позволяет указать необязательное имя пользователя для входа в удаленную систему.

-v
Указанный файл копируется в удаленную систему вместо уже имеющегося только при условии, что номер его версии выше или он более новый.

-w
Позволяет указать для процесса рабочий каталог (путь внутри удаленной системы).

-x
Отображает интерфейс пользователя на рабочем столе Winlogon (только в локальной системе).

—>В помощь админу —>

Небольшая статья, показывающая один из простых способов запуска приложения на удалённом компьютере не прибегая к сторонним утилитам и программам.
Существуют разные способы удалённого запуска приложения, но большинство из них — это сторонние утилиты и програмы, такие как PsExec или Dameware nt utilities и др.. И хотя перечисленные мною являются доверенными и не опасными для компьютера (только если скачаны с официального сайта!). Я являюсь сторонником, которые пытаются выжать максимум из возможностей самой операционной системы, тем более, что она на это способна.

Итак, сам скрипт (в примере используется блокнот для запуска):
Имя файла RunAtHost.vbs

‘=======================================================
‘Язык — VBScript
‘Автор — Олег Анчуров
‘Скрипт предназначен для удаленного запуска программ
‘на удалённой рабочей станции
‘=======================================================
On Error Resume Next
Dim CmpName, Application
Dim objSWbemLocator, objServices, objClass, Res, errCode, procID

CmpName = InputBox(«Введите имя компьютера:») ‘Спрашиваем имя удалённой машины
Application = «notepad.exe» ‘Приложение для запуска (в данном случае блокнот)
‘Application = InputBox(«Введите имя приложения:») ‘Раскоментируйте при необходимости

‘Запускаем приложение (блокнот) на удалённой машине
Set objSWbemLocator = CreateObject(«WbemScripting.SWbemLocator»)
UserName = CmpName & «\администратор» ‘имя пользователя
Pass = «SuperPuperPassword» ‘пароль пользователя
Set objServices = objSWbemLocator.ConnectServer(CmpName, «root\CIMV2», UserName, Pass, Null, Null, 0)
If Err.Number <> 0 Then
WScript.Echo Err.Number & «: » & Err.Description
WScript.Quit
End If
Set objClass = objServices.Get(«Win32_Process»)
Res = objClass.Create(RA, Null, Null, PID)
If Res <> 0 Then
WScript.Echo Err.Number & «: » & Err.Description
End If

Set objSWbemLocator = Nothing ‘Выкидываем мусор из памяти компа
Set objServices = Nothing ‘Выкидываем мусор из памяти компа
Set objClass = Nothing ‘Выкидываем мусор из памяти компа
WScript.Quit

Копируйте и пользуйтесь на здоровье.
Жизнь админа должна быть проще!

Использование удаленного рабочего стола

Используйте удаленный рабочий стол на устройстве с Windows, Android или iOS, чтобы дистанционно подключиться к компьютеру с Windows 10.

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

Убедитесь, что у вас установлена Windows 10 Pro. Чтобы это проверить, перейдите на Пуск > Параметры > Система > О системеи найдите Выпуск. Сведения о том, как получить Windows 10 Pro, см. в статье Обновление Windows 10 Домашняя до Windows 10 Pro.

Когда все готово, выберите Пуск > Параметры > Система > Удаленный рабочий стол и включите параметр Включить удаленный рабочий стол.

Запомните имя компьютера в разделе Как подключиться к этому ПК. Оно понадобится позже.

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

На локальном компьютере под управлением Windows 10 В поле поиска на панели задач введите Подключение к удаленному рабочему столу и выберите Подключение к удаленному рабочему столу. В окне «Подключение к удаленному рабочему столу» введите имя компьютера, к которому необходимо подключиться (из шага 1), а затем нажмите кнопку Подключиться.

На устройстве с Windows, Android или iOS Откройте приложение «Удаленный рабочий стол» (можно скачать бесплатно в Microsoft Store, Google Play и Mac App Store) и добавьте имя компьютера, к которому вы хотите подключиться (см. шаг 1). Выберите имя удаленного компьютера, которое вы добавили, и дождитесь завершения подключения.

Запуск приложения на удаленном устройстве Launch an app on a remote device

В этой статье объясняется, как запустить приложение для Windows на удаленном устройстве. This article explains how to launch a Windows app on a remote device.

Начиная с Windows 10 версии 1607, приложение UWP может запускать приложение UWP или классическое приложение для Windows удаленно на другом устройстве, которое также работает с Windows 10 версии 1607 или выше, при условии что вход на обоих устройствах выполнен с той же учетной записью Майкрософт (MSA). Starting in Windows 10, version 1607, a UWP app can launch a UWP app or Windows desktop application remotely on another device that is also running Windows 10, version 1607 or later, provided that both devices are signed on with the same Microsoft Account (MSA). Это самый простой вариант использования Project Rome. This is the simplest use case of Project Rome.

Читайте также:  Linux скан локальной сети

Функция удаленного запуска создает удобную пользовательскую среду для выполнения задач, и пользователь может начать выполнять задачу на одном устройстве и завершить на другом. The remote launch feature enables task-oriented user experiences; a user can start a task on one device and finish it on another. Например, если пользователь слушает музыку на телефоне в своей машине, придя домой, он или она может продолжить воспроизведение на Xbox One. For example, if the user is listening to music on their phone in their car, they could then hand playback functionality over to their Xbox One when they arrive at home. Удаленный запуск позволяет приложениям передавать контекстные данные в запускаемое удаленное приложение и продолжать работу в нем. Remote launch allows apps to pass contextual data to the remote app being launched, in order to pick up where the task was left off.

Предварительная настройка Preliminary setup

Добавление возможности remoteSystem Add the remoteSystem capability

Чтобы приложение могло запускать другое приложение на удаленном устройстве, вам потребуется добавить возможность remoteSystem в манифест пакета приложений. In order for your app to launch an app on a remote device, you must add the remoteSystem capability to your app package manifest. Можно использовать конструктор манифестов пакетов, чтобы добавить его, выбрав удаленная система на вкладке возможности , или вручную добавить следующую строку в файл Package. appxmanifest проекта. You can use the package manifest designer to add it by selecting Remote System on the Capabilities tab, or you can manually add the following line to your project’s Package.appxmanifest file.

Возможность совместной работы на разных устройствах Enable cross-device sharing

Кроме того на клиентском устройстве должно быть разрешено использование на нескольких устройствах. Additionally, the client device must be set to allow cross-device sharing. Этот параметр, доступ к которому можно получить в разделе Параметры: Система > Общие возможности > Передача между устройствами, включен по умолчанию. This setting, which is accessed in Settings: System > Shared experiences > Share across devices, is enabled by default.

Поиск удаленного устройства Find a remote device

Сначала вам потребуется найти устройство, к которому нужно подключиться. You must first find the device that you want to connect with. В статье Обнаружение удаленных устройств подробно описано, как это сделать. Discover remote devices discusses how to do this in detail. Мы воспользуемся простым способом, не прибегая к фильтрации по типу устройства или подключения. We’ll use a simple approach here that forgoes filtering by device or connectivity type. Мы создадим наблюдатель удаленных систем для поиска удаленных устройств и создадим обработчики событий, которые возникают при удалении или обнаружении устройств. We will create a remote system watcher that looks for remote devices, and write handlers for the events that are raised when devices are discovered or removed. Так мы получим коллекцию удаленных устройств. This will provide us with a collection of remote devices.

В коде из этих примеров требуется, чтобы в ваших файлах класса имелся оператор using Windows.System.RemoteSystems . The code in these examples requires that you have a using Windows.System.RemoteSystems statement in your class file(s).

Перед удаленным запуском необходимо сначала вызвать метод RemoteSystem.RequestAccessAsync() . The first thing you must do before making a remote launch is call RemoteSystem.RequestAccessAsync() . Проверьте полученное значение и убедитесь, что у вашего приложения есть разрешение на доступ к удаленным устройствам. Check the return value to make sure your app is allowed to access remote devices. Эта проверка может не удаться, если вы не добавили возможность remoteSystem в приложение. One reason this check could fail is if you haven’t added the remoteSystem capability to your app.

Обработчики событий наблюдателя систем вызываются при обнаружении устройства, к которому можно подключиться, или прекращении доступа к нему. The system watcher event handlers are called when a device that we can connect with is discovered or is no longer available. Мы будем использовать эти обработчики событий для ведения актуального списка устройств, к которым можно подключиться. We will use these event handlers to keep an updated list of devices that we can connect to.

Читайте также:  Linux mint keyring deb

Мы будет отслеживать устройства по идентификатору удаленной системы с помощью словаря. We will track the devices by remote system ID using a Dictionary. Для содержания исчисляемого списка устройств используется класс ObservableCollection. An ObservableCollection is used to hold the list of devices that we can enumerate. Класс ObservableCollection также упрощает привязку списка устройств к пользовательскому интерфейсу, но мы не будем этого делать в нашем примере. An ObservableCollection also makes it easy to bind the list of devices to UI, though we won’t do that in this example.

Добавьте вызов метода BuildDeviceList() в код запуска приложения перед запуском удаленного приложения. Add a call to BuildDeviceList() in your app startup code before you attempt to launch a remote app.

Запуск приложения на удаленном устройстве Launch an app on a remote device

Запустите приложение удаленно, указав устройство, к которому требуется подключиться, в API RemoteLauncher.LaunchUriAsync. Launch an app remotely by passing the device you wish to connect with to the RemoteLauncher.LaunchUriAsync API. Для этого метода существует три перегрузки. There are three overloads for this method. В самой простой из них, используемой в этом примере, указывается универсальный код ресурса (URI), с помощью которого активируется приложение на удаленном устройстве. The simplest, which this example demonstrates, specifies the URI that will activate the app on the remote device. В этом примере с помощью URI открывается приложение «Карты» на удаленной системе с трехмерным представлением башни Спейс-Нидл. In this example the URI opens the Maps app on the remote machine with a 3D view of the Space Needle.

Другие перегрузки RemoteLauncher.LaunchUriAsync позволяют указывать такие параметры, как URI веб-сайта для проверки невозможности запуска подходящего приложения, способного обработать этот URI, на удаленном устройстве, и необязательный список имен семейства пакетов, который можно использовать для запуска этого URI на удаленном устройстве. Other RemoteLauncher.LaunchUriAsync overloads allow you to specify options such as the URI of the web site to view if no appropriate app can be launched on the remote device, and an optional list of package family names that could be used to launch the URI on the remote device. Вы также можете предоставить данные в виде пар «ключ-значение». You can also provide data in the form of key/value pairs. Вы можете передать данные приложению, которое запускается, чтобы предоставить контекст для удаленного приложения, например название песни, которую требуется воспроизвести, и текущее расположение воспроизведения при передаче воспроизведения с одного устройства на другое. You might pass data to the app you are activating to provide context to the remote app, such as the name of the song to play and the current playback location when you hand off playback from one device to another.

В практических сценариях можно предоставить пользовательский интерфейс для выбора целевого устройства. In practical scenarios, you might provide UI to select the device you want to target. Однако для упрощения этого примера мы воспользуемся только первым удаленным устройством из списка. But to simplify this example, we’ll just use the first remote device on the list.

Объект RemoteLaunchUriStatus, возвращаемый методом RemoteLauncher.LaunchUriAsync(), содержит сведения об успешном удаленном запуске или причинах его сбоя. The RemoteLaunchUriStatus object that is returned from RemoteLauncher.LaunchUriAsync() provides information about whether the remote launch succeeded, and if not, the reason why.

Справочник по API удаленных систем Remote Systems API reference
Обзор подключенных приложений и устройств (Project Rome) Connected apps and devices (Project Rome) overview
Обнаружение удаленных устройств Discover remote devices
Пример удаленных систем демонстрирует, как обнаружить удаленную систему, запустить приложение в удаленной системе и использовать службы приложений для передачи сообщений между приложениями, работающими в двух системах. Remote Systems sample demonstrates how to discover a remote system, launch an app on a remote system, and use app services to send messages between apps running on two systems.

Оцените статью