Запись учетной записи Windows в группу - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Интересует возможность решения следующего кода:
DirectoryEntry grp;
 
grp = AD.Children.Find("Administrators", "group");
if (grp != null) { grp.Invoke("Add", new object[] { NewUser.Path.ToString() }); }
Console.WriteLine("Account created successfully");
Как вписать вместо "Administrators" значения SID, чтобы можно было создавать пользователей вне зависимоти от языка системы. Спасибо!
DirectoryEntry AD = new DirectoryEntry("WinNT://" +
                                        Environment.MachineName + ",computer");
                    DirectoryEntry NewUser = AD.Children.Add(users + i, "user");
                    NewUser.Invoke("SetPassword", new object[] { "password" });
                    NewUser.Invoke("Put", new object[] { "Description", "User program Soft" });
                    NewUser.Properties["userFlags"].Value = Convert.ToInt32(NewUser.Properties["userFlags"].Value) | 0x0040 | 0x10000;
                    NewUser.CommitChanges();
 
                    DirectoryEntry grp;
                    grp = AD.Children.Find("Administrators", "group");
                    if (grp != null) { grp.Invoke("Add", new object[] { NewUser.Path.ToString() }); }
                    Console.WriteLine("Account " + users + i + " created successfully");
                }
                catch (Exception ex)
                {
                    Console.Write(ex.Message);
                    Console.WriteLine(users + i);
                }
Если поможет, код создания пользователя и присваивания ему группы.

Решение задачи: «Запись учетной записи Windows в группу»

textual
Листинг программы
static string GetAdministratorsGroupName()
{
    return new SecurityIdentifier("S-1-5-32-544").Translate(typeof(NTAccount)).Value;
}
 
static string GetAdministratorsGroupName()
{
    using (var ctx = new PrincipalContext(ContextType.Machine))
    using (var grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Sid, "S-1-5-32-544"))
    {
        return grp.Name;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы