问题标签 [directoryservices]

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 投票
6 回答
10751 浏览

c# - 如何获取来宾/管理员的本地组名称?

问题:

我使用在 http://support.microsoft.com/kb/306273找到的代码

添加 Windows 用户。问题是我需要将用户添加到组中,但组名已本地化。

例如,MS 示例使用英文计算机,这意味着您可以像这样获取来宾组:

但是在非英语计算机上,“Guest”组名是本地化的,例如在我的德语操作系统上,Guest 的组名是“Gäste”。

这意味着要在我的计算机上运行支持示例,我需要将该行更改为

然后它工作。

现在,如果操作系统是任何其他语言,我如何找到来宾用户的名称?或者我如何从 sid 获取来宾用户名?

注意:.NET 2.0,而不是 3.0 或 3.5

0 投票
1 回答
725 浏览

c# - 目录服务,搜索所有可用的提供商

我有以下方法用于在本地计算机(首先完成)或当前林中搜索用户组。

我的问题是,我们以“domain.local”和“mydomain.local”为例,而我当前的登录名绑定到“domain.local”,那么使用下面将无法在“mydomain.local”中找到任何内容。本地”,即使我通过 Windows 用户界面也可以。

当我不一定知道所有可查看的提供程序时,如何从计算机的角度搜索所有可查看的提供程序?我真的必须自己做注册表工作吗?


编辑:

这两个域的一个区别是当我在对象浏览器对话框中选择“位置”时它们所处的“级别”,它的布局如下:

  • 计算机
  • 整个方向
    • 域.local
  • mydomain.local

所以“mydomain.local”存在于所谓的“整个目录”之外,但我的计算机可以找到它,如果这有什么不同吗?

0 投票
3 回答
4977 浏览

c# - 如何在 GroupPrincipal 上设置 ManagedBy 属性

我正在使用GroupPrincipal. System.DirectoryServices.AccountManagement创建和更新时,我还需要能够设置ManagedBy您能够Managed By在 AD 管理控制台的组属性中的选项卡中设置的属性。

可以以编程方式完成吗?

0 投票
1 回答
348 浏览

ssh - dscl 在重新连接的屏幕内部不起作用

我在 Mac OS X 10.5.8 上。我不确定这到底是什么时候开始发生的,但我发现当我重新连接到从 ssh 会话开始的屏幕会话时,任何依赖 dscl(目录服务)或底层 getent 的东西都会失败。

如果我在终端的那台机器上启动会话,一切正常。只有远程启动的屏幕会话在重新连接时才会出现问题。

同样失败:

我已经重新启动、调试和谷歌搜索了大约 6 个小时,但没有运气。

这真的很痛苦,因为它会影响很多应用程序(ssh、git、rake 等)。

我很好奇这是否会影响其他人,或者是否有人知道如何解决它。

0 投票
1 回答
639 浏览

sharepoint-2010 - 从活动目录中获取当前登录用户的列表

我目前正在开发一个 sharepoint 2010 Web 部件,我需要在其中获取给定域中当前登录用户的列表。这可以使用 System.DirectoryServices.AccountManagement 完成吗?如果是这样,有人怎么能给我代码示例?

0 投票
0 回答
4003 浏览

ldap - 如何配置 OpenLDAP 代理/缓存以缓存所有查询

好的,这是一个 OpenLDAP 新问题,请耐心等待。我无法在网络上找到直接的答案,所以我们开始吧:

注意:最终目标是将 OpenLDAP 服务器设置为“单个”查询的代理/缓存,以在主 LDAP 中获取所有结果(如果您熟悉 .Net 的 DirectoryServices dll,该应用程序只是在 LDAP 上进行 FindAll() 调用)。

我已经到了代理/缓存显示与主服务器相同的结果(即,它正在代理查询)的地步,但它似乎没有缓存。我这么说是因为两个原因:

  • 如果我对主 LDAP 中的条目进行更新,我会立即在代理中看到更新的值(使用指向代理 URL 的 LDAP 浏览器),甚至在 TTL 过期之前。
  • 如果我关闭主 LDAP 并查询代理,我会收到连接异常。如果我没记错的话,我应该得到一个缓存的结果(再一次,TTL 没有过期)。

这是我用于代理/缓存的 OpenLDAP 配置文件(在 Windows 上,OpenLDAP v.2.4.23):


数据库 ldap

uri“ldap://MyPC”

后缀“dc=local”

rootdn "dc=local"

覆盖 pcache

代理缓存 bdb 1000 3 250 432000

目录 ./cache

索引对象类 eq

指数 cn eq,sub

代理缓存查询 100

proxyattrset 0 cn certificateRevocationList

代理模板 (objectclass=) 0 600


有几点值得注意:

  • 我在主 LDAP 的条目中包含“所有”属性作为代理属性集的一部分。我知道这对于缓存/服务预期的查询是必要的。由于我想缓存 FindAll() 我认为这是这样做的方法。
  • 一致性检查间隔设置为 5 天(432000 秒)。我希望缓存能够提供缓存查询,即使主服务器已经停机很长时间。另请注意,TTL 设置为 10 分钟(600 秒) - 这是因为我希望缓存查询至少每 10 分钟刷新一次(如果主服务器已启动)。

好的,关于我的问题

  1. 有没有一种方法可以快速配置 OpenLDAP 以缓存所有查询,而无需在 proxyattrset 中指定所有属性?
  2. 为什么在我终止主 LDAP 并在 TTL 内查询代理时出现连接错误?我的查询没有被缓存吗?如果是这样,我在配置文件中缺少什么来启用缓存?
0 投票
3 回答
11751 浏览

c# - UserPrincipal.GetAuthorizationGroups() 方法出错

我在 Web 应用程序中使用 UserPrincipal 类的 GetAuthorizationGroups 方法时遇到问题。

使用以下代码,我收到“在尝试检索授权组时,发生错误 (5)”

我相信这段代码在一定程度上有效。

  • 当我查看上下文对象时,我可以看到服务器和用户名/密码已在对象中正确解析
  • 当我查看 p 对象时,我可以看到 AD 详细信息已填充,例如电话号码等。

这是错误的堆栈跟踪。

通过从 PrincipalContext 构造函数中删除用户名和密码详细信息并将应用程序池(在 iis7 中)更改为作为同一用户 (username@mycompany.com) 运行 - 以下代码有效。

我需要让第一个示例中的代码正常工作 - 我不希望以域用户身份运行应用程序池只是为了让此代码正常工作。

0 投票
1 回答
4723 浏览

.net - 枚举 Active Directory 中的用户组需要哪些权限

我有一个 .net Web 应用程序,它需要获取用户在 Active Directory 中所属的组。

为此,我在用户记录上使用 memberOf 属性。

我需要知道在所有用户记录上读取此属性所需的权限。

目前,我在尝试读取此属性时得到不一致的结果。例如,我在同一 OU 路径中有一个由 30 个用户组成的用户组。使用我自己的凭据查询 AD - 我可以读取某些用户的 memberOf 属性,但不能读取其他用户。我知道所有用户都设置了 memberOf 属性,正如我在使用域管理员帐户登录时检查过的那样。

0 投票
1 回答
1109 浏览

active-directory - 对目录服务使用语句

您能否帮助我并告诉我是否在我的目录服务函数中正确使用了“使用语句”,该函数从我的 Active Directory 中获取了专有名称。我想正确处理和关闭对象。

代码:

0 投票
2 回答
545 浏览

c# - 如何列出可用的 ADSI(Active Directory 服务接口)服务提供商?

如何在 C# 中列出可用的ADSI(Active Directory 服务接口)服务提供者?