Hinzufügen eines lokalen Benutzers zu einer lokalen Gruppe in C #

Ich kann einen Benutzer perfekt hinzufügen, aber dann kann ich ihn nicht zu einer lokalen Gruppe hinzufügen. Ich erhalte diesen Fehler: -

Ein Mitglied konnte nicht zur lokalen Gruppe hinzugefügt oder aus dieser entfernt werden, da das Mitglied nicht vorhanden ist.

Hier ist der Code, den ich verwende. Was mache ich falsch? Es ist nur die lokale Maschine, ich habe definitiv Rechte, und die Gruppe existiert definitiv.

        try
        {
            using (DirectoryEntry hostMachineDirectory = new DirectoryEntry("WinNT://" + serverName))
            {
                DirectoryEntries entries = hostMachineDirectory.Children;

                foreach (DirectoryEntry entry in entries)
                {
                    if (entry.Name.Equals(userName, StringComparison.CurrentCultureIgnoreCase))
                    {
                        // Update password
                        entry.Invoke("SetPassword", password);
                        entry.CommitChanges();
                        return true;
                    }
                }

                DirectoryEntry obUser = entries.Add(userName, "User");
                obUser.Properties["FullName"].Add("Used to allow users to login to Horizon. User created programmatically.");
                obUser.Invoke("SetPassword", password);
                obUser.Invoke("Put", new object[] {
                "UserFlags",
                0x10000
                });

                obUser.CommitChanges();

                foreach (string group in groups)
                {
                    DirectoryEntry grp = hostMachineDirectory.Children.Find(group, "group");
                    if (grp != null) { grp.Invoke("Add", new object[] { obUser.Path.ToString() }); }

                }
                return true;
            }
        }
        catch (Exception ex)
        {
            returnMessage = ex.InnerException.Message;
            return false;
        }

Antworten auf die Frage(1)

Ihre Antwort auf die Frage