Tag: active directory group

读取/过滤分发组的活动目录的子组?

我有一个域名为myDomain.local的Active Directory,在它下面存在一个包含许多组的通讯组。 如何(以编程方式)读取所有这些子组以检索其名称列表? 以及如何优化查询以过滤结果,以便它只检索以Region结尾的所有组? 顺便说一下,我正在使用C#.Net,ASP.Net和sharepoint,而且我没有AD经验。

以递归方式获取Active Directory组的成员,即包括子组

在Active Directory中给出这样的组: MainGroup GroupA User1 User2 GroupB User3 User4 我可以轻松确定User3是否是MainGroup或其任何子组的成员,代码如下: using System; using System.DirectoryServices; static class Program { static void Main() { DirectoryEntry user = new DirectoryEntry(“LDAP://CN=User3,DC=X,DC=y”); string filter = “(memberOf:1.2.840.113556.1.4.1941:=CN=MainGroup,DC=X,DC=y”); DirectorySearcher searcher = new DirectorySearcher(user, filter); searcher.SearchScope = SearchScope.Subtree; var r = searcher.FindOne(); bool isMember = (r != null); } } 我想知道是否有类似的方法来获取作为组或其任何子组成员的所有用户,即在MainGroup的示例中获取User1,User2,User3和User4。 获取所有用户的显而易见的方法是递归查询每个子组,但我想知道是否有更简单的方法。 使用与memberOf:1.2.840.113556.1.4.1941: […]

检查当前用户是否是活动目录组的成员

我需要检查当前用户是否是活动目录组的成员。 我开始将当前用户设置如下。 现在我想知道如何检查这个CurrentUser是在活动目录组“CustomGroup”中 string CurrentUser = WindowsIdentity.GetCurrent().Name;

从可信域添加成员到AD组

我有两个域,在一个受信任的关系中,我正在尝试从C#Web应用程序进行管理。 要做到这一点,我必须冒充两个不同的技术用户,但这样做很好,所以我不会强调代码的那一部分。 为了构建适当且易于管理的文件系统ACL,我必须这样做 在domainA中创建一个组(OK!) 在domainB中找到一个用户(好的!) 将用户添加到组(提交更改时失败,错误消息: There is no such object on the server. (Exception from HRESULT: 0x80072030) ) 如果我正在添加来自同一域的用户,则代码可以正常运行,所以我相信我在这里只缺少一些小的部分信息。 我使用这个文档作为参考,也看到了这个问题 (还有一些引用了这个错误信息),但他们都没有帮助。 代码(删除了try-catch块以使其更简单) // de is a DirectoryEntry object of the AD group, received by the method as a parameter // first impersonation to search in domainB // works all right if (impersonator.impersonateUser(“techUser1”, “domainB”, “pass”)) […]

获取WinNT组的成员列表

堆栈溢出有几个类似的问题,但不完全相同。 我想在win xp计算机上打开或创建一个本地组,并向其添加成员,域名,本地和众所周知的帐户。 我还想检查一个用户是否已经是一个成员,这样我就不会两次添加同一个帐户,并且可能会出现exception。 到目前为止,我开始将DirectoryEntry对象与WinNT://提供程序一起使用。 这样可以,但是我仍然坚持如何获得一个组成员列表? 有人知道怎么做吗? 或者提供比使用DirectoryEntry更好的解决方案?

使用Sharepoint API获取AD域组的成员

在我的Sharepoint代码中,我通过以下方式显示所有已定义用户的列表: foreach (SPUser user in SPContext.Current.Web.AllUsers) { … } 最重要的是,我可以将域安全组添加到Sharepoint组(如访问者),从而一次添加许多用户(更简单的管理)。 但是我的代码在第一次登录之前至少没有看到这些用户(如果他们有足够的权限)。 在这种情况下,我只能看到域安全组SPUser对象实例,其IsDomainGroup设置为true 。 是否有可能通过Sharepoint获取域组成员而无需借助Active Directory查询(这是我宁愿避免的,因为您可能需要足够的权限来执行此类操作=更多管理:Sharepoint权限+ AD权限)。

列出所有Active Directory组

以下代码列出了一些(但不是全部)Active Directory组。 为什么? 我正在尝试列出所有安全组,通讯组,计算机组等。我是否指定了错误的objectClass ? private static void ListGroups() { DirectoryEntry objADAM = default(DirectoryEntry); DirectoryEntry objGroupEntry = default(DirectoryEntry); DirectorySearcher objSearchADAM = default(DirectorySearcher); SearchResultCollection objSearchResults = default(SearchResultCollection); SearchResult myResult=null; objADAM = new DirectoryEntry(LDAP); objADAM.RefreshCache(); objSearchADAM = new DirectorySearcher(objADAM); objSearchADAM.Filter = “(&(objectClass=group))”; objSearchADAM.SearchScope = SearchScope.Subtree; objSearchResults = objSearchADAM.FindAll(); // Enumerate groups try { fileGroups.AutoFlush = true; if […]