PsExec для удаленного запуска приложения с графическим интерфейсом - PullRequest
5 голосов
/ 01 февраля 2012

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

            ProcessStartInfo info = new ProcessStartInfo(@"<path to dir>");
            info.FileName = @"C:\<dirpath>\PsExec.exe";
            info.Arguments = @"\\" + "<COmputerName>" + " " + @"""C:\Program Files (x86)\<exepath>\<exename>.exe""";
            info.RedirectStandardOutput = true;
            info.UseShellExecute = false;
            info.RedirectStandardError = true;
            info.WindowStyle = ProcessWindowStyle.Maximized;

            Process o = Process.Start(info);

Проблема в том, что процесс запускается удаленно, но я не вижу графический интерфейс.Я могу видеть это только в диспетчере задач.Есть ли способ увидеть GUI на удаленном компьютере?

РЕДАКТИРОВАТЬ 1: * Разрешения *

  1. Console.WriteLine (System.Environment.UserName.ToString ());
  2. Console.WriteLine (Thread.CurrentPrincipal.Identity.Name.ToString ());
  3. Console.WriteLine ("current winddentity" + System.Security.Principal.WindowsIdentity.GetCurrent (). Name.ToString ());

Если я выполняю вышеуказанные строки кода перед запуском процесса, это дает:

администратор пусто имя_домена \ administrator , и я также зарегистрирован с учетной записью администратора на удаленном компьютере.

* InteractiveMode * Когда я пытаюсь использовать ключ -i из приглашения cmd, он выдает: Процесс завершился с кодом ошибки -1073741502.При попытке выполнить с помощью C # он вообще ничего не делает.Не исключение, по крайней мере!

КОНЕЦ ИЗМЕНЕНИЯ 1.

1 Ответ

3 голосов
/ 01 февраля 2012

При условии правильных разрешений вы хотите -i для интерактивного режима.

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

info.Arguments = @"\\" + "<COmputerName>" + " -i " + @"""C:\Program F...
...