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

C# Discussion :

[c#]Listing des droits NTFS


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Par défaut [c#]Listing des droits NTFS
    Bonjour


    J'essaye de lister les droits NTFS sur un dossier. Malheureusement je n'ai que Allow et Deny avec getAccessControl.

    Y a t'il une autre méthode pour avoir les droits complets ? (lecture, écriture,...)

  2. #2
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Bonjour,

    J'ai réalisé une application de gestion des droits d'accès NTFS il y a de ça quelques mois, je pense que la méthode suivante peut t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public static List<String> ReturnUserRight(string account, string folderPath)
    {
        try
        {
            List<String> lstRight = new List<string>();
            DirectoryInfo info = new DirectoryInfo(folderPath);
            DirectorySecurity security = info.GetAccessControl(AccessControlSections.Access);
     
            foreach (AuthorizationRule perm in security.GetAccessRules(true, true, typeof(NTAccount)))
            {
                string[] userChaine = perm.IdentityReference.ToString().Split('\\');
                if (userChaine[userChaine.Length - 1] == account)
                {
                    lstRight.Add((perm as FileSystemAccessRule).FileSystemRights + ";" + perm.InheritanceFlags.ToString() + ";" + perm.PropagationFlags.ToString());
                }
            }
            return lstRight;
        }
        catch (Exception e)
        { 
            throw e;
        }
    }
    Le paramètre "account" doit correspondre à un login Windows (ex : pdupond).

    Et voici les usings à mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    using System.Security.AccessControl;
    using System.Security.Principal;

  3. #3
    Membre averti
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Par défaut
    Merci pour la réponse il me manquais que cette partie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lstRight.Add((perm as FileSystemAccessRule).FileSystemRights

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

Discussions similaires

  1. Ajouter des Droit NTFS sur une liste de dossiers
    Par minidoux24 dans le forum VBScript
    Réponses: 4
    Dernier message: 29/09/2010, 11h56
  2. Différence SP2 et R2 dans la gestion des droits NTFS
    Par Tristan Zwingelstein dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 11/08/2010, 11h34
  3. Modifié des Droit NTFS en vbs
    Par inco69 dans le forum VBScript
    Réponses: 2
    Dernier message: 03/08/2010, 09h52
  4. [Batch] Modification des droits NTFS
    Par ekke dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 31/03/2009, 13h27

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