找出AD中的一个群组是否在分发群组中?

问题描述 投票:7回答:3

我正在使用ASP.net与C#,并对Active Directory有一点了解。我已经完成了以下步骤编写程序的任务:

ASP.net应用程序被赋予用户的用户名。

应用程序应使用给定的用户名查询用户的所有组。

然后,应用程序应将这些组显示在两个单独的列表中,一个由通讯组组成,另一个列表中包含其余组。

现在,查询所有组很容易。但是,如何检查该组是否在分发组中?

我没有得到更多的信息。

我可以检查的任何属性或东西?

asp.net active-directory distribution active-directory-group
3个回答
3
投票

您可以从名为qazxsw poi的属性(最后一行)中检索此信息。

Groupe-Type

您可以在qazxsw poi或qazxsw poi的底部找到不同的方式来检索用户所属的组。

你可以找到qazxsw poi如何检索用户。


3
投票

由于您使用的是.NET 3.5及更高版本,因此您应该查看(0x00000001) : Specifies a group that is created by the system. (0x00000002) : Specifies a group with global scope. (0x00000004) : Specifies a group with domain local scope. (0x00000008) : Specifies a group with universal scope. (0x00000010) : Specifies an APP_BASIC group for Windows Server Authorization Manager. (0x00000020) : Specifies an APP_QUERY group fir Windows Server Authorization Manager. (0x80000000) :Specifies a security group. If this flag is not set, then the group is a distribution group. (S.DS.AM)命名空间。在这里阅读所有相关内容:

基本上,您可以定义域上下文并轻松查找AD中的用户和/或组:

here

新的S.DS.AM使得在AD中与用户和群组玩游戏变得非常容易!


3
投票

此代码将检索所有启用电子邮件的组,无论它是安全组还是通讯组。 (看过你对marc_s的答案的评论,我猜这实际上是你的经理们正在寻找的)。

System.DirectoryServices.AccountManagement
© www.soinside.com 2019 - 2024. All rights reserved.