组中的嵌套 Active Directory 组

Nested Active Directory Groups in a Group

我需要找到特定组 1 层下的所有嵌套组。我遇到的问题是下面的代码通常有效,但对于某些组来说却无效。

如果我使用 Windows Explorer 搜索特定组(单击网络图标,然后单击 'Search Active Directory',我可以看到父组中的成员和嵌套组。但是通过在 3.5 Framework 上使用 System.DirectoryServices.AccountManagement 的代码,var Groups = MyGroup.GetGroups(); 看不到某些组的嵌套组。我认为这是一个权限问题,但如果我可以从我自己的手动搜索中看到组内部提到的上面,然后我假设来自同一个帐户的代码 运行ning 应该也能看到同样的东西。有什么不同的我应该尝试吗?

为了它的价值,我在 SSIS 包内的 Framework 3.5 之上使用脚本任务。同样在同一个包中,从用户原则对象而不是组原则搜索组工作正常。

为了清楚起见,当我 运行 此代码时

     PrincipalContext AD = new PrincipalContext(ContextType.Domain, "ctx", "mypath");
     GroupPrincipal myGroup = GroupPrincipal.FindByIdentity(AD, "myparentgroup");
     var nestedgroups = myGroup.GetGroups();

"Nestedgroups" 应该包含我的嵌套组时为空。

我遇到的问题是我在应该使用 var Groups = MyGroup.GetMembers(); 的时候使用了 var Groups = MyGroup.GetGroups();。将它放在 link 语句后面可以让我获得我正在寻找的所有对象,因为 .GetMembers() 包括用户和组。希望对您有所帮助。