Ejecutar aplicación remotamente

Surgió la necesidad de iniciar una aplicación remotamente. Se trata de un ejecutable que quería iniciar desde otro ordenador. Son estas cosas que te gusta hacer para optimizar tú trabajo, en tareas repetitivas.

Entonces me puse a investigar, quería hacer algo simple, muy rápido, solo necesitaba indicar el IP, el usuario y contraseña del ordenador y desde luego el nombre del .exe.

Os comparto el código, para que lo utilicéis cuando lo necesitéis.

Process p = new Process();

p.StartInfo.FileName = @"PsExec.exe";
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;

p.StartInfo.Arguments = @"\\" + txtIP.Text + " -u " + txtUser.Text 
                        + " -p " + txtPassword.Password + " -i 0 -d "
                        + "\"" + @"C:\\Test\MeyApp.exe" + "\"";

p.Start();
var ended = p.WaitForExit(60 * 1000);

if (!ended)
{
    throw new Exception("No se ha podido iniciar el proceso.");
}

using (StreamReader sr = p.StandardOutput)
{
    string buffer = sr.ReadToEnd();
}