2

我没有使用 Active Directory 的经验。

我正在使用 Delphi 开发与 Active Directory 交互的应用程序。我需要知道测试 Active Directory 用户是否属于指定组的最佳方法。我怎么做?

我正在使用 Delphi 2006 BDS。

4

2 回答 2

2

我想与您分享NLDNetAPI.pas

由于没有丰富的活动目录经验并且没有超过 7 的 Delphi 版本,我确实认为您可以使用以下代码从特定组中获取所有用户:

GetNetGroupUsers([ServerName], [GroupName], [StringList not nil], False, True);

探索您的用户名的 StringList。

于 2011-05-23T17:51:25.793 回答
1

您应该考虑嵌套组,最简单的方法是使用包含(计算的)SID 数组(包括嵌套组)的tokenGroups属性。从那里您可以将此 sid 列表转换为名称(通过将其提供给DsCrackNames)或从您希望检查和比较 sid 的组中获取 SID(EqualSid

于 2011-05-23T21:44:55.490 回答