Web应用程序MVC3 C#。
我正在使用System.DirectoryServices.AccountManagement
来管理Active Directory。
有人知道我可以看到群组拥有者的方式吗? managedBy
属性?
我找到了小组
var group = GroupPrincipal.FindByIdentity(directory, IdentityType.SamAccountName, groupName);
但我没有看到寻找集团所有权的方法。
谢谢!
答案 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"];
非常感谢!