我正在尝试创建一个这样的校长:
PrincipalContext pc = new PrincipalContext(ContextType.Machine);
GroupPrincipal group = new GroupPrincipal(pc);
group.Name = "Some Group Name";
group.Description = "Some Group Name Description";
group.Save();
但是,执行代码时,我收到以下异常消息:
System.DirectoryServices.AccountManagement:属性对此商店类型无效。
如果我不设置Description
属性,上面的代码工作得很好,只是没有组的描述。
难道我做错了什么?
提前致谢。
编辑: 我相信我已经找到了解决方法(对于任何可能感兴趣的人)。可以通过与上述相同的方式创建组:
PrincipalContext pc = new PrincipalContext(ContextType.Machine);
GroupPrincipal group = new GroupPrincipal(pc);
group.Save();
现在您创建一个DirectoryEntry
并将其链接到新创建的组,如下所示:
string path = "WinNT://" + machineName + "/" + group.SamAccountName;
DirectoryEntry dEntry = new DirectoryEntry(path);
这允许访问该组的属性,但我感兴趣的是描述,所以:
dEntry.Properties["description"].Add("Some Decription");
dEntry.CommitChanges();
那应该这样做。