Executer un programme en tant que admin

deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 19 août 2007 à 19:10
AndreJAO Messages postés 24 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 2 septembre 2007 - 23 août 2007 à 20:43
Yop à tous,

Voila , sous vista j'ai un programme qui doit acceder a la base de registre afin d'y faire des modification, l'ennui c'est que sous vista il faut que le programme aye les jetons d'admin pour pouvoir y acceder. Vous allez me dire , ben quand tu clique fait "executer en tant qu'admin", mais voila , je ne doit pas toujours l'executer moi mm, et il doit s'executer tt seul assez souvent. Donc il faudrai qu'il prenne automatiquement les droit d'admin. Est-ce que quelqu'un à une API ou autre à me proposer ?

merci d'avance.

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]

4 réponses

Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
19 août 2007 à 21:02
Tu peux utiliser CreateProcessAsUser: http://msdn2.microsoft.com/en-us/library/ms682429.aspx
0
cs_vicenzo Messages postés 178 Date d'inscription mardi 16 août 2005 Statut Membre Dernière intervention 25 août 2010 1
19 août 2007 à 21:42
la commande 'runas' doit pouvoir faire l'affaire...
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
20 août 2007 à 21:26
Oui oki pour tout cela, mais moi ce que je voudrait c'est que mon processus s'éxécute directement en admin, car avec CreateProcessAsUser c'es pour créer un autre processus, hors c'est "celui-ci" qui doit être en admin :D

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]
0
AndreJAO Messages postés 24 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 2 septembre 2007
23 août 2007 à 20:43
Bonjour,
Toute la problématique Vista, sécurité oblige ...
Je te suggererais de passer par un service, simple si ton process n'interagit pas avec l'utilsateur, plus complexe dans le cas contraire. Il s'agirait alors de découper ton process en deux, une partie serveur, le service, et une partie client qui contiendrait le GUI.
La communication entre client & serveur peut être réalisée en NamedPipe c'est je pense le protocole le + efficace dans ce cas. Pour terminer ne pas oublier l'aspect multi utilisateur qui suppose plusieurs process clients de ton service, donc plusieurs communications, avec les 'tuyaux nommés' c'est pas un problème.
En résumé, GUI ou pas il s'agirait bien de faire un service générique pour manpulation du registre, avec un client relativement simple basé sur des transactions NamedPipe.
Ne pas oublié que ce genre de développement constiue une faille de sécurité, à toi de sécuriser.
AM6
0
Rejoignez-nous