我想重命名一个团体。我的代码如下所示
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";上崩溃并抛出异常
属性对此存储类型无效。
如果我注释掉该行,代码将继续运行,但我想更改显示名称。我做了一些研究,发现了this.,但是我使用的是Framework4.0。有人知道其他人该怎么做吗?还是我走错路了?
发布于 2013-01-17 11:21:06
经过深思熟虑,我找到了让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();https://stackoverflow.com/questions/13365708
复制相似问题