2012-02-01 41 views
5

Estoy intentando iniciar una aplicación GUI de forma remota utilizando PsExec.PsExec para ejecutar de forma remota una aplicación GUI

  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); 

El problema aquí es que el proceso se inicia de forma remota, pero no puedo ver la GUI. Solo puedo verlo en el administrador de tareas. ¿Hay alguna manera de ver el GUI en la computadora remota?

EDIT 1: * Permisos *

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

Si ejecuto por encima de líneas de código antes del proceso de arranque, se le da:

  • administrador
  • blanco
  • NombreDeDominio \ administrador
  • y estoy conectado con la cuenta de administrador la computadora remota también.

    * InteractiveMode * Cuando trato de utilizar el interruptor de -i desde la línea de cmd da: Proceso salió con el código de error -1073741502. Al intentar ejecutar usando C#, no hace nada en absoluto. ¡Sin excepción, al menos!

    FIN DE EDITAR 1.

    +0

    Probablemente un problema de usuario frente a escritorio. ¿Quién está conectado a la máquina remota? ¿Qué cuenta (usuario) está lanzando la aplicación remota? – adelphus

    +0

    @adelphus, consulte Editar 1, agregué detalles de permisos. – user96403

    Respuesta

    3

    Suponiendo permisos correctos que desea -i para el modo interactivo.

    -i Ejecutar el programa para que interactúe con el escritorio de la sesión especificada en el sistema remoto. Si no se especifica ninguna sesión, el proceso se ejecuta en la sesión de la consola.

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

    Consulte EDIT 1 He agregado el resultado de ejecutar con modo interactivo, gracias. – user96403

    +0

    Hay -x y -s conmutadores que están relacionados con la sesión de host, puede investigar aquellos –

    Cuestiones relacionadas