Member 14765571 Ответов: 2

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


Привет, команда, я создал оконное приложение с помощью VisualStudio. Мне нужно запустить это приложение на нескольких удаленных компьютерах. Это приложение хранится на общем сетевом диске, и все компьютеры имеют к нему доступ. Теперь я хочу написать приложение .net (C# или VB), чтобы запустить такое приложение. Я пробовал с psexec, и он работает, но приложение запускается в фоновом режиме. Мне нужно, чтобы это приложение было на переднем плане, чтобы пользователь на удаленном компьютере мог видеть приложение на своем рабочем столе и взаимодействовать с ним. Приведенный ниже код также не работает. Как я мог этого достичь?; есть какая-нибудь подсказка? Спасибо

Что я уже пробовал:

var connection = new ConnectionOptions();            
 connection.Username = @"xxxx";
 connection.Password = "zzzzzz";

 object[] theProcessToRun = { @"\\pcsupp\Applications\GetComputerLocation.exe" };            

 var wmiScope = new ManagementScope($@"\\TDS68924-EPIC\root\cimv2", connection);
 wmiScope.Connect();
 using (var managementClass = new ManagementClass(wmiScope, new ManagementPath("Win32_Process"), new ObjectGetOptions()))
            {               
                managementClass.InvokeMethod("Create", theProcessToRun);
           }

ZurdoDev

Самый простой способ-поместить ярлык на рабочий стол каждого человека и попросить его дважды щелкнуть по нему.

Member 14765571

Хорошо, это сработало бы ... однако мы не знаем, где находятся компьютеры, и они являются компьютером autologin. Приложение windows предложит пользователю ввести некоторую информацию о местоположении

2 Ответов

Рейтинг:
2

phil.o

PsExec[^] позволит вам сделать это немного менее болезненно.


Member 14765571

Я пробовал psexec, но приложение запускается в фоновом режиме. Мне нужно было на переднем плане, чтобы пользователь мог видеть отображаемое приглашение из приложения :(

phil.o

Вы можете использовать -i переключитесь так, чтобы он мог взаимодействовать с рабочим столом.

Member 14765571

Да, я также использую-i и -d. Ничего :(

phil.o

Попробуйте предоставить идентификатор сеанса коммутатору-i (например., -i 1).

Рейтинг:
2

Dave Kreskowiak

Ты не можешь. По соображениям безопасности вы не можете запустить интерактивный процесс на удаленной машине.

Ну, вы можете, просто пользователь, вошедший в машину, никогда не увидит никакого пользовательского интерфейса для приложения.


Member 14765571

Ничего себе, это будет проблемой. Спасибо, Дэйв. Не могли бы вы дать мне знать, каковы эти причины безопасности? :)
Есть ли какой-нибудь способ обойти это ... может быть, сценарий?
Спасибо!

Dave Kreskowiak

Вы не можете этого сделать из-за распространенности вредоносных программ.

Почему все, кто пытается это сделать, думают, что есть способ обойти функцию безопасности? Это полностью разрушило бы цель функции безопасности, не так ли?