Active Directory中组的所有权,

时间:2012-08-23 13:45:22

标签: c# asp.net-mvc-3 active-directory

Web应用程序MVC3 C#。

我正在使用System.DirectoryServices.AccountManagement来管理Active Directory。

有人知道我可以看到群组拥有者的方式吗? managedBy属性?

我找到了小组

var group = GroupPrincipal.FindByIdentity(directory, IdentityType.SamAccountName, groupName);

但我没有看到寻找集团所有权的方法。

谢谢!

2 个答案:

答案 0 :(得分:4)

如果GroupPrincipal上没有您需要的属性,则新的S.DS.AM方法具有相当好的可扩展性故事。

Read more about it here - 您基本上可以扩展GroupPrincipal,并且在该扩展类中,您可以“深入”到基础DirectoryEntry并获取未进入其中的其他属性GroupPrincipal

另外[查看此CodeProject文章](如何使用未在UserPrincipal,GroupPrincipal和ComputerPrincipal中表示的AD属性)如何扩展S.DS.AM(与UserPrincipal一起显示,但对{的工作方式相同{1}})

答案 1 :(得分:2)

确实,GroupPrincipal中有一个潜在的对象。

快速而肮脏的解决方案是:

var group = GroupPrincipal.FindByIdentity(directory, IdentityType.SamAccountName, groupName));
DirectoryEntry obj =(DirectoryEntry)group.GetUnderlyingObject();
var owner = obj.Properties["managedBy"];

非常感谢!