GroupPrincipal переименовать группу

Я пытаюсь переименовать группу. Мой код выглядит следующим образом

PrincipalContext context = new PrincipalContext(ContextType.Machine);
GroupPrincipal group = GroupPrincipal.FindByIdentity(context, "GroupName");
group.SamAccountName = "NewGroupName";
group.DisplayName = "NewGroupName";
group.Name = "NewGroupName";
group.Save();

Проблема в том, что он падает на group.DisplayName = "NewGroupName"; и бросает исключение

свойство недопустимо для этого типа магазина.

Если я закомментирую эту строку, код будет выполняться, но я хотел бы изменить отображаемое имя. Я провел некоторое исследование и нашел это. Однако я использую Framework 4.0. Кто-нибудь знает другого, что делать, или я поступаю неправильно?

1 ответ

Решение

После долгих размышлений я нашел единственный способ получить group.Name = "Newname"; работать, это получить объект DirectoryEntry, а затем изменить его. Код ниже

PrincipalContext context = new PrincipalContext(ContextType.Machine);
GroupPrincipal group = GroupPrincipal.FindByIdentity(context, "GroupName");
var Groupentry = (DirectoryEntry)group.GetUnderlyingObject();
Groupentry.Rename("newname");
Groupentry.CommitChanges();
Другие вопросы по тегам