您如何在Opendege中枚举.getGroups()?

时间:2018-07-16 12:12:39

标签: .net openedge

我正在尝试使用.net调用Active Directory来正确枚举我拥有的组。

如果我这样发送消息,我的组对象又回来了。

USING System.Security.Principal.*.
USING System.DirectoryServices.AccountManagement.*.
USING System.DirectoryServices.AccountManagement.PrincipalContext.

DEFINE VARIABLE networkPrincipalContextCls AS CLASS PrincipalContext NO-UNDO.
DEFINE VARIABLE nPrincipalUserCls AS CLASS UserPrincipal NO-UNDO.

nPrincipalUserCls = NEW UserPrincipal(networkPrincipalContextCls).
MESSAGE UserPrincipal:FindByIdentity(networkPrincipalContextCls,User):GetGroups() VIEW-AS ALERT-BOX.

我一直在使用Google搜索,并希望了解进步的知识资源。我找不到有关如何执行此操作的示例或说明。如果有人知道任何资源,我可以看一下或举一个例子,它将使我朝正确的方向发展,我将不胜感激。预先谢谢你!

1 个答案:

答案 0 :(得分:3)

我不确定在GetGroups()的结果中哪些类型是项,但是基于foreach.i类似这样:https://github.com/consultingwerk/ListsAndEnumSamples/blob/master/Consultingwerk/foreach.i

oGroups = UserPrincipal:FindByIdentity(networkPrincipalContextCls,User):GetGroups() .
{Consultingwerk/foreach.i Principal oItem in oGroups}
    MESSAGE oItem:ToString() .
END.