Lancer CMD en tant que administrateur en c#

Signaler
Messages postés
85
Date d'inscription
dimanche 14 mars 2010
Statut
Membre
Dernière intervention
17 juin 2013
-
Messages postés
4
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
1 octobre 2012
-
Bonsoir tout le monde s'il vous plais vous pouvez m'aider j'ai un problem je veux lancer cmd a partir de mon application en c# mais en tant que administrateur!!
merci d'avance :)

5 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Salut,

as-tu essayé de lancer directement ta commande (sans passer par runas) en remplissant les attributs UserName et Password de ton ProcessStartInfo ?
bonjour,

Je cherche la même chose.
Avez-vous une solution ?

Phil
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
6
Salut,

Regardez peut-être ce lien.

@++

SD
oui, j'avais remarqué, mais tel quel je reçois une fenêtre popup qui signale que le mot de passe n'a pas été fourni (et ne permet même pas de l'entrer).

Il est évident de fournir le mot de passe quelque-part, mais comme je voudrais lancer la commande dans un timer (60 sec), j'ai essayé de fournir le mot de passe dans le code (crypté, avec SecureString()) via startInfo.Password, mais le process continue son popup, toutes les 60 sec ...

De même renas n'a pas de paramètre genre /psw:

Merci pour votre recherche,
Je continue ...
Messages postés
4
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
1 octobre 2012

BINGO, merci jopop !

Mince alors, j'étais passé à côté de la plaque.
Pour info, voici l'extrait de code:
------------------------------------------
using System.Security /* SecureString */;

string sUserAdmin = "uuuuu";
string sPswAdmin = "ppppp";
SecureString ssPswAdmin = new SecureString();

for (int i = 0; i < sPswAdmin.Length; i++)
{
ssPswAdmin.AppendChar(sPswAdmin[i]);
}

pEcCmd = new Process();
pEcCmd.StartInfo.FileName = "xxxx.exe";
pEcCmd.StartInfo.Arguments = "-yyyy";
pEcCmd.StartInfo.UserName = sUserAdmin;
pEcCmd.StartInfo.Password = ssPswAdmin;
pEcCmd.StartInfo.UseShellExecute = false;
pEcCmd.StartInfo.RedirectStandardOutput = true;
pEcCmd.Start();
...
------------------------------------------------
MAIS je suis passé alors au message suivant:

"L’opération demandée nécessite une élévation"

Ce qui est un autre problème, que j'ai pu (temporairement ?) résoudre
(Modifier les paramètres de contrôle de compte utilisateur)
en passant de "Toujours m'avertir (recommandé)"
à "Jamais m'avertir (non recommandé)" dont je me méfierai dès aujourd'hui.

Et voilà, merci à tous les intervenants.