问题标签 [active-directory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4491 浏览

c# - 更有效地监控 Active Directory 中的组成员身份 (C# .NET)

我有一个 Active Directory 同步工具 (.NET 2.0 / C#),它是作为 Windows 服务编写的,我已经研究了一段时间,最近的任务是添加基于组成员身份更改来驱动事件的能力。基本场景是用户与安全数据库同步,并且当组成员更改时,用户需要更改其访问权限(即,如果我现在是“IT 员工”的成员,那么我应该自动获得对服务器机房,如果我从该组中删除,那么我应该自动失去对服务器机房的访问权限)。

问题是,在对组执行 DirectorySynchronization 时,您会收到已添加/删除成员的组,并且当您获取成员列表时,您会从那里获取该组中所有成员的列表,而不仅仅是那些已添加或删除。这给我带来了一个相当大的效率问题——为了知道用户是否被添加或删除,我必须在本地保留每个组和所有成员的列表,并将其与当前列表进行比较以查看谁被添加了添加(不在本地列表中),以及谁已被删除(在本地列表中,不在当前成员列表中)。

我正在讨论是否将组成员身份详细信息存储在内存中的 DataSet 中,并在每次处理新的成员身份更改时写入磁盘。这样,如果服务停止/崩溃或机器重新启动,我仍然可以通过将磁盘上的最后信息与当前组成员列表中的信息进行比较来了解安全数据库中 Active Directory 的当前状态。然而,这似乎非常低效 - 遍历组中的每个成员以与数据集中的内容进行比较,然后每次列表发生更改时将更改写入磁盘。

有没有人处理过这种情况?有没有我没有找到只检索组成员增量的方法?在这种情况下,您会怎么做才能确保在尽可能减少性能损失的同时不会错过任何更改?

编辑: AD 可能包含 500 个用户,它可能包含 200,000 个用户 - 这取决于客户,最重要的是平均用户是多少个组的成员

0 投票
1 回答
2182 浏览

c# - Attempting to update a user's "connect to:" home directory path in AD using C#

I have a small application I am working on that at one point needs to update a user's home directory path in AD under the profile tab where it allows you to map a drive letter to a particular path. The code I have put together so far sets the Home Folder Local path portion OK, but I'm trying to figure out the name for the "connect" portion, as well as how to select the drive letter. Go easy on me, I'm new to C#. Thanks!!

Here's my code that updates the Local path section.

Where findMeinAD is a method that looks up a user's info in AD and tbPFolderVerification.Text is a text box in the form that contains the path I'd like to set a particular drive to map to.

0 投票
1 回答
6739 浏览

c# - 如何在 Asp.Net 中为用户获取 AD 用户组?

我需要能够获取用户所在组的列表,但我需要显示以下一个/部分/所有属性:

  • 专有名称
  • 姓名
  • cn
  • 山姆帐户名

我现在拥有的返回某种名称,但不是上面的任何名称(名称看起来很接近,但并不完全匹配。这就是我正在使用的:

就像我说的那样,上述方法有效,但不会让我得到我的程序所需的正确名称(上面指定的名称)。我需要这个能够与我在调用我的域中的所有组时获得的列表相匹配:

0 投票
2 回答
64476 浏览

c# - 我可以从 DirectorySearcher 获得超过 1000 条记录吗?

我刚刚注意到结果的返回列表限制为 1000。我的域(HUGE 域)中有超过 1000 个组。如何获得超过 1000 条记录?我可以从以后的记录开始吗?我可以把它分成多个搜索吗?

这是我的查询:

我试图设置srch.SizeLimit = 2000; ,但这似乎不起作用。有任何想法吗?

0 投票
1 回答
1292 浏览

.net - 使用“SQL”查询 Active Directory?

我只是想知道是否有人知道或制作了 Active Directory 的包装器以便能够在 .net 中轻松查询它?有点像“LINQ-to-ActiveDirectory”或一些 SQL 方言,即能够执行“SELECT DISTINCT(DEPARTMENT) FROM /Users/SomeOU/AnotherOU”或“SELECT user FROM domain”等。

据我所知,可以以“SQLesque”方式查询 WMI 和 IIS,我只是想知道 Active Directory 是否也可以进行类似的操作,而无需学习另一种查询语言(LDAP)?

0 投票
2 回答
4273 浏览

asp.net - Web 应用程序的全局与通用 Active Directory 组访问

我有一个 SQL Server 2000、C# 和 ASP.net Web 应用程序。我们希望通过使用 Active Directory 组来控制对它的访问。如果我放入的组是“全球”,但如果该组是“通用”,我就可以进行身份​​验证。

我怎样才能使这项工作与“通用”组一起工作?这是我的授权块:

0 投票
1 回答
252 浏览

inheritance - 继承基类

我正在尝试对 Active Directory 使用表单身份验证,但我需要来自 AD 的角色 (memberOf)。我正在尝试覆盖 RoleProvider 的成员以使其成为可能(除非有人知道更好的方法)。我在继承自 RoleProvider 的新类中遇到错误。

错误是:ADAuth.ActiveDirectoryRoleProvider' 没有实现继承的抽象成员 'System.Web.Security.RoleProvider.ApplicationName.get'

如何设置我没有覆盖的所有其他成员?我是否必须在我的继承类中创建它们,或者有没有办法告诉它只使用基类中的那些?

0 投票
2 回答
3897 浏览

asp.net - 有哪些 ADFS 替代方案可用于为 ASP.NET 应用程序在 Active Directory 中使用用户进行单点登录?

需要安全并能够处理成千上万的用户。

0 投票
2 回答
4354 浏览

windows - 枚举 Windows 网络共享和所有自定义权限

我们有各种共享许多目录的服务器。查看共享浏览器可以很容易地了解“顶级”共享是什么,但下面是杂乱无章的自定义权限,没有一个记录在案。

我想枚举域上的所有共享(绝对是所有的“服务器”,本地 PC 会很好),然后递归每个共享并报告与父级的任何偏差。如果孩子具有相同的权限,则无需报告。

我更喜欢简单的脚本解决方案来编写大型 C# 应用程序,但任何可行的方法都可以(甚至是现有软件)。

例如,我想得到:

等等

0 投票
5 回答
23382 浏览

python - How to Retrieve name of current Windows User (AD or local) using Python?

How can I retrieve the name of the currently logged in user, using a python script? The function should work regardless of whether it is a domain/ad user or a local user.