问题标签 [directoryentry]

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 投票
4 回答
14605 浏览

directoryentry - 给定用户的 SID,我如何获取 AD DirectoryEntry?

我有用户的 SIDbyte[]windowsPrincipal.getIdentity().getSid(). 如何从 SID 获取 Active Directory 条目 (DirectoryEntry)?

0 投票
2 回答
3490 浏览

c# - DirectoryEntry.Children.Remove 抛出“未指定的错误”

我有一些代码可以从 Active Directory 中删除一个安全组,但是在运行时,我收到一个带有消息“未指定错误”的 COMException。

这是代码:

这是 Windows 事件控制台中的消息:

0 投票
2 回答
3651 浏览

c# - c# DirectoryEntry InvokeSet HomeDirectory 和 HomeDrive,错误

我正在尝试为指定 OU 中的每个 AD 用户修改配置文件/主目录/主驱动器设置,

我下面有一些非常基本的代码应该可以实现这一壮举,但会抛出以下异常:

请求的操作不满足与对象类别相关的一个或多个约束。

有没有人遇到过这个问题,如果有,有办法解决吗?

谢谢你。

0 投票
1 回答
862 浏览

c# - 如何从 AD 域名获取 windows 登录域名

我有像 MyDomain.com 这样的 AD 域名和像 MD (MD=MyDomain) 这样的 Windows 登录域名。如何使用DirectoryEntry.Properties集合从 AD 域获取 win 登录域名?

0 投票
2 回答
8188 浏览

vb.net - 如何通过 AD DirectoryEntry 在 VB.NET 中设置 AccountExpires

我需要在 AD DirectoryEntry 中设置 accountExpires 属性,但找不到简单的答案。找到一些资料;

http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.userprincipal.aspx

http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/182bfb6a-8b23-4c96-9379-101a4d91241a

http://www.rlmueller.net/AccountExpires.htm

看了一些关于 ADS****.dll 的文章,但认为我不需要使用这种方法

感谢 Brian,看起来上面编写的大量代码可以简化;

在 VB.NET 中返回 AccountExpires 和其他 largeInteger 问题的函数

示例使用:

另一种方法

在 C# 中将 LDAP AccountExpires 转换为 DateTime

0 投票
1 回答
1754 浏览

c# - 如何强制 LDAP 在 .NET 中使用辅助本地 IP 地址?

我需要访问防火墙后面的远程 LDAP 服务器(使用 C#/.NET)进行用户身份验证。

远程站点的防火墙设置为允许特定 IP 地址,但它不是服务器上的主 IP 地址,即默认情况下,与远程 LDAP 服务器的连接将使用主 IP。

如何强制 LDAP 在 .NET 中使用辅助 IP 地址?


我专门使用System.DirectoryServices.DirectoryEntryandSystem.DirectoryServices.AccountManagement.PrincipalContext类,但没有明显的方法可以控制本地端点。

这就是我使用 TcpClient 绑定到本地 IP 地址的方式:

注意:在这种情况下不能更改服务器的主 IP 地址。

PS:虽然我在这里使用“绑定”一词来表示绑定到本地端点,但 LDAP 使用“绑定”一词来连接/验证目录。

0 投票
2 回答
1019 浏览

c# - 尝试连接到 Active Directory 时出现异常

作为我公司的一个项目,我正在尝试使用 asp.net c# 查询两个广告。一个本地的,一个远程的。本地人没有给我带来任何麻烦,连接,查询,一切都很好。

问题出在远程(位于 ISP 位置的服务器场中)。

我收到“发生本地错误”错误。

我写的连接代码:

我检查了端口,它在防火墙中是打开的,我正在尝试查询 AD 用户,是的,用户列表不在用户下,而是在不同的 OU 下。

也许有人知道这个?要找什么?如果我使用 IP,我是否需要使用 DC 部分,我只是找不到有关此的文档...

我应该在文档中阅读时打开 389 端口吗???谢谢你,埃雷兹

0 投票
1 回答
3516 浏览

c# - DirectoryEntry 使用哪些端口?

我的目标是从远程服务器获取网站名称列表。但我得到了例外:

RPC 服务器不可用。

这是代码:

当机器上的防火墙关闭时,这工作正常。

我需要知道的是,DirectoryEntry 使用了哪些端口?或者有没有其他方法可以在不关闭防火墙的情况下获取网站名称?

0 投票
2 回答
5385 浏览

asp.net - ASP.Net (IIS 7.5) 在没有用户凭据的情况下查询 Active Directory

我为我们的 Intranet 构建了多个 Web 应用程序。我想让用户不用担心登录,所以这些应用程序在访问站点时会拉出当前登录的用户。我使用此代码来实现这一点:

这就像一个魅力,这里没有问题。下一步是查询该登录用户的 Active Directory 以提取各种信息。我目前如何对其进行编码,它在开发方面就像一个魅力(典型的因为我没有运行 IIS)。

当我将它发布到我的 IIS 服务器(运行 IIS 7.5 的 Windows Server 2008 R2)时,问题就出现了,我收到指向我的代码中查询 Active Directory 的特定行的错误消息。有趣的是,这些应用程序上周运行良好。在我的服务器管理员完成最新一批 Windows 更新后,它们中断了(请注意,我正在使用 .Net Framework 4.0 运行它们)

在我设置每个应用程序以启用 Windows 身份验证之前,其他身份验证类型被禁用。对于提供商,协商是#1,NTLM 是#2。对于 Advanced Settings,Extended Protection = Off,并选中 Enable Kernel-mode authentication。

我的 web.config 有以下设置:

这些是我的设置,一切都像一个魅力。现在为了让它有点工作,我需要交换供应商,所以 NTLM 是#1,Negotiate 是#2。因此,用户的凭据未正确传递,AD 查询失败。这是我用于查询的编码:

自从更新以来,当在前面加载带有 Negotiate 的站点时,它在该底线上失败了,因为我没有为 DirectoryEntry 设置用户名/密码。即使我设置了用户名/密码,它仍然不能像以前那样 100% 工作。

所以我的问题变成了,我需要做什么才能让用户访问该站点,我可以知道他们的用户名,并且可以在不需要在 DirectoryEntry 中使用用户名/密码的情况下查询活动目录?

它是IIS中的设置吗?还是我需要重新编码?web.config 设置也许?我是否需要恢复服务器更新并找出导致中断发生的原因?

提前感谢您的建议。如果您有任何问题可以帮助回答问题,请告诉我。

更新

我尝试按照 Matt 的建议将以下剪辑添加到我的 web.config 文件中:

这没有用。我做了一些阅读,然后进一步修改了这一部分:

在这样做时,我还删除了 web.config 部分中较高的字符串。这也不起作用(仅供参考,这是一个很好的参考http://www.iis.net/ConfigReference/system.webServer/security/authentication

然后我浏览了这篇文章:http ://social.technet.microsoft.com/Forums/en/winserverDS/thread/7deba16b-295a-4887-98f9-9f291ed49871 ,这似乎是一个类似的情况。这篇文章最终引用了“Double Hops”,在研究了这个并尝试了一些东西之后,这也没有解决我的问题。

下一步

我将在不同的 Server 2008 R2 系统上尝试新的 IIS 7.5 实现,并且基本上从头开始,看看问题是否会重现。

任何新的建议都会有很大帮助。

0 投票
2 回答
2103 浏览

c# - 如何将 NT AUTHORITY\IUSR 添加到管理员组

我想在我的 winforms 应用程序中将 IUSR 帐户添加到该管理员组。下面的代码失败,因为它找不到“NT AUTHORITY\IUSR”的用户:

我意识到这是个坏主意。我这样做是因为我正在编写一个 winforms 应用程序,它以编程方式在 IIS7 中创建一个新网站,仅用于开发目的。该网站已成功创建,但是每当我尝试加载页面时,ASP.NET 都会显示错误“访问被拒绝”。当我将 IUSR 添加到管理员组时,一切正常。我还能尝试什么?下面是我用来创建新网站的代码: