问题标签 [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.
c# - 如何获取来宾/管理员的本地组名称?
问题:
我使用在 http://support.microsoft.com/kb/306273找到的代码
添加 Windows 用户。问题是我需要将用户添加到组中,但组名已本地化。
例如,MS 示例使用英文计算机,这意味着您可以像这样获取来宾组:
但是在非英语计算机上,“Guest”组名是本地化的,例如在我的德语操作系统上,Guest 的组名是“Gäste”。
这意味着要在我的计算机上运行支持示例,我需要将该行更改为
然后它工作。
现在,如果操作系统是任何其他语言,我如何找到来宾用户的名称?或者我如何从 sid 获取来宾用户名?
注意:.NET 2.0,而不是 3.0 或 3.5
c# - 目录服务,搜索所有可用的提供商
我有以下方法用于在本地计算机(首先完成)或当前林中搜索用户组。
我的问题是,我们以“domain.local”和“mydomain.local”为例,而我当前的登录名绑定到“domain.local”,那么使用下面将无法在“mydomain.local”中找到任何内容。本地”,即使我通过 Windows 用户界面也可以。
当我不一定知道所有可查看的提供程序时,如何从计算机的角度搜索所有可查看的提供程序?我真的必须自己做注册表工作吗?
编辑:
这两个域的一个区别是当我在对象浏览器对话框中选择“位置”时它们所处的“级别”,它的布局如下:
- 计算机
- 整个方向
- 域.local
- mydomain.local
所以“mydomain.local”存在于所谓的“整个目录”之外,但我的计算机可以找到它,如果这有什么不同吗?
c# - 如何在 GroupPrincipal 上设置 ManagedBy 属性
我正在使用GroupPrincipal
. System.DirectoryServices.AccountManagement
创建和更新时,我还需要能够设置ManagedBy
您能够Managed By
在 AD 管理控制台的组属性中的选项卡中设置的属性。
可以以编程方式完成吗?
ssh - dscl 在重新连接的屏幕内部不起作用
我在 Mac OS X 10.5.8 上。我不确定这到底是什么时候开始发生的,但我发现当我重新连接到从 ssh 会话开始的屏幕会话时,任何依赖 dscl(目录服务)或底层 getent 的东西都会失败。
如果我在终端的那台机器上启动会话,一切正常。只有远程启动的屏幕会话在重新连接时才会出现问题。
同样失败:
我已经重新启动、调试和谷歌搜索了大约 6 个小时,但没有运气。
这真的很痛苦,因为它会影响很多应用程序(ssh、git、rake 等)。
我很好奇这是否会影响其他人,或者是否有人知道如何解决它。
sharepoint-2010 - 从活动目录中获取当前登录用户的列表
我目前正在开发一个 sharepoint 2010 Web 部件,我需要在其中获取给定域中当前登录用户的列表。这可以使用 System.DirectoryServices.AccountManagement 完成吗?如果是这样,有人怎么能给我代码示例?
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 分钟刷新一次(如果主服务器已启动)。
好的,关于我的问题:
- 有没有一种方法可以快速配置 OpenLDAP 以缓存所有查询,而无需在 proxyattrset 中指定所有属性?
- 为什么在我终止主 LDAP 并在 TTL 内查询代理时出现连接错误?我的查询没有被缓存吗?如果是这样,我在配置文件中缺少什么来启用缓存?
c# - UserPrincipal.GetAuthorizationGroups() 方法出错
我在 Web 应用程序中使用 UserPrincipal 类的 GetAuthorizationGroups 方法时遇到问题。
使用以下代码,我收到“在尝试检索授权组时,发生错误 (5)”
我相信这段代码在一定程度上有效。
- 当我查看上下文对象时,我可以看到服务器和用户名/密码已在对象中正确解析
- 当我查看 p 对象时,我可以看到 AD 详细信息已填充,例如电话号码等。
这是错误的堆栈跟踪。
通过从 PrincipalContext 构造函数中删除用户名和密码详细信息并将应用程序池(在 iis7 中)更改为作为同一用户 (username@mycompany.com) 运行 - 以下代码有效。
我需要让第一个示例中的代码正常工作 - 我不希望以域用户身份运行应用程序池只是为了让此代码正常工作。
.net - 枚举 Active Directory 中的用户组需要哪些权限
我有一个 .net Web 应用程序,它需要获取用户在 Active Directory 中所属的组。
为此,我在用户记录上使用 memberOf 属性。
我需要知道在所有用户记录上读取此属性所需的权限。
目前,我在尝试读取此属性时得到不一致的结果。例如,我在同一 OU 路径中有一个由 30 个用户组成的用户组。使用我自己的凭据查询 AD - 我可以读取某些用户的 memberOf 属性,但不能读取其他用户。我知道所有用户都设置了 memberOf 属性,正如我在使用域管理员帐户登录时检查过的那样。
active-directory - 对目录服务使用语句
您能否帮助我并告诉我是否在我的目录服务函数中正确使用了“使用语句”,该函数从我的 Active Directory 中获取了专有名称。我想正确处理和关闭对象。
代码: