Bonjour,
Sur XP Pro, il y a une commande "RUNAS" qui permet de lancer un programme avec les autorisations d'un certain utilisateur.
Il y a t-il une fonction que je pourrais utiliser pour lancer un exe comme le fait "RUNAS" ?
Merci d'avance.
Bonjour,
Sur XP Pro, il y a une commande "RUNAS" qui permet de lancer un programme avec les autorisations d'un certain utilisateur.
Il y a t-il une fonction que je pourrais utiliser pour lancer un exe comme le fait "RUNAS" ?
Merci d'avance.
Voir CreateProcessWithLogonW ou LogonUser + CreateProcessAsUser.
CreateProcessAsUser() ne peut être utilisé que dans un service (seul L'utilisateur LocalSystem peut s'en servir. À contrario, LocalSystem ne peut pas utiliser CreateProcessWithLogonW()). Par contre, je n'ai pas testé la troisième fonction de création, CreateProcessWithTokenW(), qui possède peut-être les avantages des deux...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Bonjour,
Merci à tous les deux pour vos informations.
Pour ma part la fonction CreateProcessWithLogonW convient très bien à ce que je veux faire.
Par ailleurs MSDN m'a donné un exemple concret de réalisation !
http://msdn.microsoft.com/library/de...withlogonw.asp
Merci et à bientôt.
Jag.
CreateProcessAsUser peut être utilisé en dehors d'un service, il faut que l'utilisateur ai un privilège particulier pour s'en servir:
Replace a process level token
Et par défaut, ce privilège n'est accordé qu'à LocalSystem, un utilisateur dont les seuls processus sont (normalement) des services.
CQFD, même si je reconnais que c'est une simplification.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager