Bonjour à tous !

Le titre le dit bien, je cherche à supprimer un utilisateur local Windows d'un groupe WinNT (Utilisateurs, Administrateurs, etc.) depuis des heures.

J'ai trouvé comment créer un utilisateur :

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
public static void AddUser(string userDn_)
        {
            try
            {
                DirectoryEntry newUser = _ad.Children.Add(userDn_, "user");
                newUser.Invoke("SetPassword", new object[] {"abc123$$"});
                newUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});
                newUser.CommitChanges();
                newUser.Close();
 
                Console.WriteLine("Création du compte réussie");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Comment l'ajouter à un groupe :

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
public static void AddUserToGroup (string groupDn_, string userDn_)
        {
            try
            {
                String userPath = String.Format("WinNT://{0}/{1},user", Environment.MachineName, userDn_);
                DirectoryEntry grp = _ad.Children.Find(groupDn_, "group");
                if (grp != null) 
                    grp.Invoke("Add", new object[] { userPath });
                grp.CommitChanges();
                grp.Close();
 
                Console.WriteLine("Ajout du compte au groupe {0} réussi", groupDn_);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Comment le supprimer complètement :

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
public static void DeleteUser (string userDn_)
        {
            try
            {
                DirectoryEntry localDirectory = new DirectoryEntry("WinNT://" + Environment.MachineName.ToString());
                DirectoryEntries users = localDirectory.Children;
                DirectoryEntry user = users.Find(userDn_);
                users.Remove(user);
                Console.WriteLine("Suppression du compte {0} réussie", userDn_);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Mais pas le supprimer du groupe.

J'ai testé pleins d'astuces, de codes trouvés grâce à l'ami de tous, mais la console me renvoie constamment des erreurs :
Le nom du groupe est introuvable
Il spécifie sans cesse la méthode .Invoke("Remove", new object[] { nomDuUser }) ou .Properties["Members"].Remove(directoryEntry) suivant la solution proposée.

Alors qu'Invoke est utilisée dans l'ajout...

Pourquoi je n'arrive pas à le supprimer ?

Voici mon main

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
24
public static void Main (string [] args_)
        {
            Console.WriteLine("\tCREATION - Rincevent");
            AddUser("Rincevent");
 
            Console.WriteLine("\n\tAJOUT - Groupe Utilisateurs");
            AddUserToGroup("Utilisateurs", "Rincevent");
 
            Console.WriteLine("\n\tAJOUT - Groupe Administrateurs");
            AddUserToGroup("Administrateurs", "Rincevent");
 
            //Console.WriteLine("\n\tSUPPRESSION - Groupe Utilisateurs");
            //RemoveUserToGroup("Utilisateurs ", "Rincevent");
 
            Console.WriteLine("\n\tSUPPRESSION - Groupe Administrateurs");
            RemoveUserToGroup("Administrateurs ", "Rincevent");
 
            Console.WriteLine("\n\tSUPPRESSION COMPTE");
            DeleteUser("Rincevent");
 
            System.Console.WriteLine("Press any key to exit.");
            System.Console.ReadKey();
 
        }
Merci d'avance,

shini86161.