exécuter en tant qu'administrateur programme cmd.exe dans vista, C #
-
21-08-2019 - |
Question
J'ai un projet de configuration Visual Studio et le déploiement. J'ai ajouté un script .cmd en elle. Le script aurait besoin des privilèges d'administrateur pour exécuter. Lorsque l'utilisateur clique sur le fichier setup.exe, UAC demande à l'utilisateur des autorisations d'administrateur. Donc je suppose que tous les processus créés et appelés au sein setup.exe courront la capacité d'administration. Je fis donc l'appel configuration mon application console qui contient le code suivant.
ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cmd.exe";
Process.Start(p1);
Il aurait dû travaillé comme il est exécuté sous l'espace d'administrateur.
Je veux courir cmd.exe à c # classe de processus comme exécutant Windows Vista administrator.I'm.
J'ai essayé ne fonctionne pas! Que puis-je faire?
La solution
Essayez d'exécuter la runas
commande :
...
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);
...
(Et je ne pense pas que vous avez besoin d'un UseShellExecute explicite)
Autres conseils
Essayez ça, Cela a fonctionné pour moi.
...
using System.Diagnostics;
...
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.Verb = "runas";
startInfo.Arguments = "/env /user:" + "Administrator" + " cmd";
Process.Start(startInfo);
...
Ashutosh