9
votes

Attribuer par programme la permission à une sous-clé de registre

Voici comment nous manuellement Attribuez les autorisations à une clé de registre:

pour attribuer des autorisations à une clé de registre

  • Éditeur de registre ouvert. Cliquez sur la touche sur laquelle vous souhaitez affecter des autorisations.

  • Dans le menu Edition, cliquez sur Autorisations.

  • Attribuez un niveau d'accès à la clé sélectionnée comme suit:

  • pour accorder à l'utilisateur la permission de lire le contenu de la clé, mais non Toute modification apportée au fichier, sous Autorisations pour le nom, pour Lecture , Sélectionnez la case à cocher Autoriser.

  • pour accorder à l'utilisateur l'autorisation d'ouvrir, d'éditer et de prendre la propriété de la Touche sélectionnée, sous Autorisations pour le nom, pour Contrôle total , Sélectionnez la case à cocher Autoriser.

  • Pour accorder la permission spéciale de l'utilisateur dans la touche sélectionnée, cliquez sur Avancé.

    Donc, ma question est, serait-elle possible de le faire par programme? Dis, si je veux accorder aux utilisateurs Contrôle total Permission d'une sous-clé particulière, comment devrais-je écrire le code en C #? Merci beaucoup.


0 commentaires

3 Réponses :


1
votes

Il s'agit de RegseSkeySecurity API, qui est interfacé à partir de .NET CODE via registryKey.setaccesscontrol , voir Utilisation de RegseSkeySecurity pour éviter la redirection du registre


0 commentaires


7
votes
Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.LocalMachine;
RegistrySecurity rs = new RegistrySecurity();
rs = key.GetAccessControl();
string currentUserStr = Environment.UserDomainName + "\\" + Environment.UserName;
rs.AddAccessRule(
    new RegistryAccessRule(
        currentUserStr, 
        RegistryRights.WriteKey 
        | RegistryRights.ReadKey 
        | RegistryRights.Delete 
        | RegistryRights.FullControl, 
        AccessControlType.Allow));
This will assign the access rights to the specified user to the registry key 'key'

0 commentaires