【发布时间】:2011-01-06 09:45:18
【问题描述】:
我正在尝试像这样创建一个委托人:
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();
应该这样做。
【问题讨论】:
-
我想你已经用谷歌搜索了这个并找到了这个线程? directoryprogramming.net/forums/thread/2163.aspx。它说明了它与域控制器一起工作,但不是与 SAM 一起工作,但没有为后者提供解决方案。
-
是的,唯一类似的问题,但遗憾的是没有解决方案。
-
PS:通过单击“重要”按钮和“我也可以重现”链接来敦促 Microsoft 解决问题会有所帮助:connect.microsoft.com/VisualStudio/feedback/…
-
我很乐意给你一个 UpVote,但我需要 15 个代表点才能做到这一点:)。一旦我有了这些 - 我会回到这个并履行我的职责:)还添加了一个解决方法
标签: c# api properties principal