visual studio microsoft español descargar community c# process system.diagnostics

studio - Cómo ejecutar el proceso en máquina remota, en C#



visual studio installer (4)

No creo que pueda iniciar un proceso directamente a través de una ruta UNC; es decir, si System.Process usa el comspec de Windows para iniciar la aplicación ... ¿qué le parece probar esta teoría asignando un disco a "/ someComputer / somePath", y luego cambiando su creación de ProcessStartInfo a eso? Si funciona de esa manera, entonces puede considerar mapear temporalmente un disco de forma programática, iniciar su aplicación y luego eliminar el mapeo (al igual que pushd / popd funciona desde una ventana de comandos).

¿Cómo puedo iniciar un proceso en una computadora remota en c #, por ejemplo computer name = "someComputer", usando System.Diagnostics.Process class?

Creé una pequeña aplicación de consola en esa computadora remota que simplemente escribe "Hola mundo" a un archivo txt, y me gustaría llamarlo de forma remota.

Ruta de la aplicación de consola: c: / MyAppFolder / MyApp.exe

Actualmente tengo esto:

ProcessStartInfo startInfo = new ProcessStartInfo(string.Format(@"//{0}/{1}", someComputer, somePath); startInfo.UserName = "MyUserName"; SecureString sec = new SecureString(); string pwd = "MyPassword"; foreach (char item in pwd) { sec.AppendChar(item); } sec.MakeReadOnly(); startInfo.Password = sec; startInfo.UseShellExecute = false; Process.Start(startInfo);

Sigo recibiendo "No se encontró la ruta de red".



Según MSDN , un objeto de Process solo permite el acceso a procesos remotos, no la capacidad de iniciar o detener procesos remotos. Entonces, para responder a su pregunta con respecto al uso de esta clase, no puede.


Use uno de los siguientes:

O si tiene ganas, inyecte su propio servicio o componente COM. Eso sería muy parecido a lo que hace PsExec.

De todos estos métodos, prefiero el programador de tareas. La API más limpia de todas, creo. Conéctese al programador de tareas remotas, cree una nueva tarea para el ejecutable, ejecútelo. Nota: el nombre del ejecutable debe ser local para esa máquina. Not / servername / path / file.exe, pero c: / path / file.exe. Borre la tarea si lo desea.

Todos esos métodos requieren que tenga acceso administrativo a la máquina de destino.

ProcessStartInfo no es capaz de iniciar procesos remotos.