Pregunta

Tengo una configuración de estudio visual y proyecto de implementación. He añadido una secuencia de comandos .cmd en ella. El guión necesitaría privilegios de administrador para funcionar. Cuando el usuario hace clic en el archivo setup.exe, UAC pide al usuario permisos de administrador. Así que por supuesto que todos los procesos creados y llamados en setup.exe se ejecutarán en la capacidad de administración. Así que hice el establecimiento de llamada a mi aplicación de consola que contiene el código siguiente.

ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cmd.exe";
Process.Start(p1);

Por lo tanto, debería haber trabajado como es dirigido plaza de administrador.

Quiero correr cmd.exe a C # clase de proceso como una administrator.I'm que ejecuta Windows Vista.

Probé no funcionó! ¿Qué puedo hacer?

¿Fue útil?

Solución

Trate de ejecutar el runas comando

...

using System.Diagnostics;

...

string UserName = "user name goes here";
ProcessStartInfo p1 = new ProcessStartInfo();
  p1.FileName = "runas";
  p1.Arguments = String.Format("/env /u:{0} cmd", UserName);
Process.Start(p1);

...

(Y yo no creo que se necesita un UseShellExecute explícita)

Otros consejos

Solo trata de esto, Esto funcionó para mí.

...

using System.Diagnostics;

...

ProcessStartInfo startInfo = new ProcessStartInfo();
  startInfo.UseShellExecute = true;            
  startInfo.Verb = "runas";
  startInfo.Arguments = "/env /user:" + "Administrator" + " cmd";
Process.Start(startInfo);

...

Ashutosh

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top