IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Ecrire dans le registre d'un compte limité depuis un compte admin : possible ?


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut Ecrire dans le registre d'un compte limité depuis un compte admin : possible ?
    Bonjour tout le monde,

    Est-ce que vous pensez ou savez si il est possible d'écrire dans le registre d'un compte limité depuis un compte administrateur ?

    J'ai essayé, et voilà où j'en suis :
    - je liste les SID format texte des comptes de l'ordinateur,
    - je compare ces SID aux SID des sous-clés de HKEY_USERS.
    => Le problème c'est que le seul SID qui correspond, c'est le SID du compte sur lequel on exécute le programme.

    Ensuite, j'ai essayé de modifier au pif, puis dans tout les SID, une clé pour voir si je pouvais la retrouver dans HKEY_CURENT_USER en me connectant sur chaque compte, résultat => ça n'a pas modifié le registre des autres comptes.

    Je pensais que la clé HKEY_USERS servait à ça, mais apparemment non, ou je m'y prend mal ...


    Qu'en pensez-vous ?
    Savez-vous comment faire ?

    Connaissez-vous un programme qui fait ça, ou mieux, le code source d'un programme qui fait ça ?

    Merci.
    A+, Pierre.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Les clés de HKEY_USERS n'apparaissent pas tant qu'on n'a pas encore chargé la ruche correspondante...

    Si tu veux une liste de SID valables, cherches plutôt dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
    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.

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Au fait: Les ruches actuellement chargées apparaissent ici:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist
    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.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut
    Ok, merci pour ces infos Médinoc.

    Donc, la question qui suit, c'est : peut-on charger une ruche à partir d'un programme ?

    Merci.
    Pierre.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut
    Je crois que j'ai trouvé : LoadUserProfile
    Dans les remarques, il est spécifié que ça donne un handle ouvert sur la ruche :
    Upon successful return, the hProfile member of PROFILEINFO is a registry key handle opened to the root of the user's hive.

    Par contre, je ne cerne pas très bien le paramètre hToken ...
    Est-ce qu'il y a une fonction plus adéquate ?

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    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.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut
    OK, merci, je regarde tout ça.

  8. #8
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Je crois que c'est plutôt RegOpenUserClassesRoot au lieu de RegLoadKey, cette dernière servant au backup.

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    RegOpenUserClassesRoot() est spécifique aux classes COM (et aux types de fichiers).
    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.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut
    Je vais utiliser RegLoadKey, parce que pour LoadUserProfile il faut le mot de passe du compte.

    Par contre, ça me pose un nouveau petit problème : si le fichier ruche donné en argument à RegLoadKey n'existe pas, il est créé automatiquement, sans que ça le précise, donc ça ferait une erreur non détectable.
    Il faut donc que je vérifis avant si le fichier que je lui donne en argument existe vraiment, mais comme les fichiers ruches sont protégés, je ne peut pas essayer de l'ouvrir en lecture.
    J'ai vu que FindFirstFile pouvais faire l'affaire, mais est-ce qu'il y a plus adapté ?

    Merci.
    A+, Pierre.

  11. #11
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Pourquoi exactement ne peux-tu pas l'ouvrir en lecture?
    Si l'erreur est que tu n'as pas les droits, c'est que tu n'as pas activé le privilège SE_BACKUP_NAME qui te donne les droits en lecture sur tout...

    (Et puis, tu peux juste demander l'accès FILE_READ_ATTRIBUTES, voire même READ_CONTROL, pour savoir s'il est là ou non... Ou même aucun droit...)
    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.

  12. #12
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Ah oui j'avais zappé ça à propos de RegOpenUserClassesRoot.
    Pour tester l'existence d'un fichier, tu peux utiliser GetFileAttributes.

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut
    C'est bon Médinoc, merci, pour voir si le fichier existe, j'utilise GetFileAttributes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire dans le registre le % d'affichage avec IE8
    Par x4c5rt dans le forum Windows 7
    Réponses: 12
    Dernier message: 28/11/2010, 18h05
  2. [vb.net] Ecrire dans le registre sous Seven
    Par Aspic dans le forum VB.NET
    Réponses: 8
    Dernier message: 02/12/2009, 22h59
  3. [Windows] Ecrire dans les registres windows
    Par uriotcea dans le forum C++
    Réponses: 5
    Dernier message: 07/11/2008, 18h59
  4. Réponses: 6
    Dernier message: 30/08/2006, 23h31
  5. [registres] ecrire dans le registre.
    Par gilleski2010 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 29/01/2006, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo