问题标签 [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 投票
3 回答
7254 浏览

.net - 在 AD 中搜索 objectGUID

我正在使用 Mark Russinovich 的Active Directory Explorer。这是一个很棒的工具。

我正在使用它来导航活动目录,以确保我使用 .NET 中的 DirectorySearcher 的程序返回正确的数据。

但是发生了一些事情,当我尝试使用 DirectorySearcher 在我的程序中搜索 objectGUID 时,如果我将实际的 GUID 作为字符串传递,它不会返回任何内容,就像我使用Active Directory Explorer一样,当我添加

值为 f8d764ff-9a6a-418e-a641-b6f99661a8d5 的 objectGuid,其搜索子句变为:(objectGUID=\FFd\D7\F8j\9A\8EA\A6A\B6\F9\96a\A8\D5*)

如何在我的程序中为 directorySearcher 执行此操作,我猜这是一个八位字节字符串的东西,但我无法弄清楚。

0 投票
2 回答
12634 浏览

c# - System.DirectoryServices.DirectoryEntry 是否包含实际使用“域\用户名”和 Ldap 的构造函数?

Microsoft 有一篇通用知识库文章 ( Q316748 ) 描述了如何使用DirectoryEntry对象对 Active Directory 进行身份验证。在他们的示例中,他们通过将域名和用户名连接到标准 NetBIOS 格式(“域\用户名”)并将其作为参数传递给目录条目构造函数来生成用户名值:

最近我们注意到,用户名的域部分被完全忽略了,在多个环境中我已经确认了这种行为。用户名和密码实际上正在被使用,因为当它们无效时身份验证失败,但可以为域名和身份验证通过提供任意值。乍一看,我认为这种格式适用于基于 WinNT 的目录访问,但域部分对于 LDAP 被忽略。

对谷歌的检查显示许多 LDAP 示例将“域\用户名”值传递给DirectoryEntry对象,所以我要么在我的配置中搞砸了一些东西,要么有很多人对知识库文章感到困惑。任何人都可以确认这是预期的行为或推荐一种接受“域\用户名”值并使用它们针对 Active Directory 进行身份验证的方法吗?

谢谢,

0 投票
4 回答
13615 浏览

asp.net - “指定的域不存在或无法联系”

我正在尝试将集成 Windows 身份验证与 DirectorySearcher 结合使用来识别和验证 Intranet 用户。

我设法获得了一些似乎可以解决问题的相当简单的代码,但是当我在实时服务器上尝试时,出现以下错误:

“指定的域不存在或无法联系”

我无法在实时服务器上调试应用程序,因此我将其复制到旧的开发服务器上进行测试。当我正常运行该应用程序时,它出现了相同的错误,因此我尝试在 VS 中进行调试....除了它运行良好。

我怀疑这与模拟或与 LDAP 调用有关 - 显然,当它适用于调试器时,很难确定真正的问题是什么。

但我认为你们中的一个人能够为我指明正确的方向。

我的身份验证类的片段:

0 投票
4 回答
8986 浏览

c# - 如何列出所有计算机以及它们最后一次登录 AD 的时间?

我正在尝试检索计算机名称列表以及它们上次从 Active Directory 登录的日期,并将它们返回到数据表中。获取名称很容易,但是当我尝试添加如下所示的“lastLogon”或“lastLogonTimestamp”时,我为 lastLogonTimestamp 获得的唯一值是“System._ComObject”

如果我使用 LDP 之类的工具查询 AD,我可以看到该属性存在并且填充了数据。我怎样才能得到这个信息?

0 投票
13 回答
127620 浏览

c# - 错误 0x80005000 和 DirectoryServices

我正在尝试使用 .Net 中的目录服务运行一个简单的 LDAP 查询。

我得到以下异常:

作为控制台应用程序中的一个片段,这是可行的。但是当我将它作为 WCF 服务的一部分运行时(在相同的凭据下运行),它会引发上述异常。

有什么建议么?

谢谢

0 投票
3 回答
1518 浏览

c# - asp.net iis 元数据库不返回所有站点

我在 ASP.Net 中使用如下代码来枚举 IIS 中的网站:

但是,我发现 16 个站点中只有前 11 个站点得到处理。我已经为此奋斗了几个小时,但找不到任何方法可以通过 IIS 中的前 11 个站点。我试过递归搜索,我试过使用 DirectorySearcher 无济于事,我试过多次枚举或使用某种过滤器但没有任何运气。

有任何想法吗?

谢谢!

~ 蜜拉莫克

0 投票
2 回答
418 浏览

.net - 替代在本地安装 IIS 以远程访问 IIS?

我有一个应用程序,它使用 DirectoryEntry 对象(在 System.DirectoryServices 中)访问有关在远程机器上的 IIS 上运行的网站的信息。

运行应用程序的任何客户端计算机都需要安装 IIS,否则应用程序在访问 IIS 信息时会引发 System.Runtime.InteropServices.COMException。

有没有一种方法可以让我只包含一个 dll、添加一个引用或类似的东西,以便能够在没有客户端机器安装 IIS 的情况下访问该信息?或者有没有更好的方法来访问该信息(也许没有 System.DirectoryServices)也可以绕过这个要求?

编辑:再次查看此问题,并在此处此处查看问题,我相信无法使用 DirectoryServices 获取此信息。我将保留它以供建议替代方案,也许有关 WBEM 脚本的更多信息?

0 投票
2 回答
203 浏览

c++ - 从用户获取目录

我正在寻找一个从用户那里获取目录路径的函数;我需要找个地方放东西。我尝试使用带有 .dir 的 GetOpenFileName() 作为过滤器,但没有任何乐趣。我发现了一个名为 GetDirectoryViaBrowse() 的东西,听起来它可能会做我想做的事,但它是一些向导制作包的一部分,我的 Visual Studio 对此一无所知。我想要一些简单的非 .NET 小部件。

有这样的事吗?

0 投票
1 回答
1065 浏览

.net - 通过自动创建和限制用户帐户在 Windows 2008 上构建简单的安全沙箱?

我想为应用程序托管服务构建一个相当简单的安全沙箱 - 因此主要目标是:

  1. 在沙盒“中”运行的应用程序无法在系统上安装可执行文件运行所在目录之外的任何内容。
  2. 通常拒绝访问系统(注册表访问等)。
  3. 明确拒绝访问指定目录之外的文件系统(甚至是只读的)。它将是一个在沙箱内运行的 .NET 应用程序,所以我不确定这是否会顺便否认运行时和核心依赖项?

我目前的计划是使用 System.DirectoryServices 命名空间在 .NET 中构建沙箱,方法是:

  • 为每个启动的实例创建一个新的半永久用户帐户
  • 从访客类用户派生它以拒绝对系统的广泛访问
  • 然后专门授予对有限数量的应用程序应该运行的目录的读写访问权限。

有人能看出这个计划有什么特别的缺陷吗?用户帐户的安全性是否足以安全地满足上述要求?我们现在正在使用一个商业软件来处理这个问题(它的沙盒更全面);但它对我们的业务来说不够自动化 - 因此希望将其构建到我们的核心自动化软件中。

0 投票
1 回答
672 浏览

c# - 使用 ADSI 获取应用程序池的进程 ID

我写了一个小工具,列出了一个盒子上运行的所有应用程序池,并允许您启动/停止/回收它们。我使用过 System.DirectoryServices。

现在我试图让它写出每个 AppPool 的 ProcessID 以在另一个工具中使用,但我很难找到它在哪里/如何访问它。有没有人有任何指示?

谢谢