【问题标题】:Error using DirectorySearcher.FindAll() only on one machine仅在一台机器上使用 DirectorySearcher.FindAll() 时出错
【发布时间】:2020-04-01 10:26:47
【问题描述】:

我在我的所有程序中都使用相同的 DirectoryEntry/DirectorySearcher 代码(对于我正在搜索的任何内容,显然都进行了微小的更改),并且它可以在除我的开发机器之外的每台机器上运行。可能是 Visual Studio、IDK,我安装了一个新的 .NET 框架,因为我认为可能有些事情搞砸了。

每当我尝试绑定到 AD 并搜索对象时,它都会在 DirectorySearcher.FindAll() 行上显示“找不到网络路径”错误。

同样,所有这些代码都可以在任何其他机器上运行,除了这台机器,恰好是我创建和编译代码的机器。这并不重要,但我想我会提到它。

有人经历过吗?

谢谢

【问题讨论】:

  • 谢谢,但我没有使用 Windows 服务。这是使用我的主帐户的直接控制台应用程序。
  • “找不到网络路径”可能是由多种原因引起的。您可以尝试在 powershell 或 vbscript 中调用相同的搜索,以查看是否从那里得到相同的结果。
  • 有趣的是,我能够使用 vbScript 执行广告搜索。
  • 好的,所以在这台机器上我没有管理员权限。如果我使用具有管理员权限的帐户打开命令提示符,我可以在这台机器上查询 AD。我的问题是,这是一个 .NET 信任问题吗?为什么我可以在我的帐户中使用 vbScript 查询 AD,但在我的 C# 程序中的 .NET 中却不能?

标签: c# active-directory


【解决方案1】:

您必须向我们展示您正在使用的代码才能确定,但​​我猜它只是没有连接到您认为的域。

如果您没有明确设置SearchRoot,则默认使用当前用户的域。因此,如果您的普通帐户与您尝试使用的管理员帐户位于不同的域中,那么为什么它可以与一个帐户而不是另一个帐户一起工作是有道理的。

这是我的最佳猜测,但如果您需要更多帮助,则必须使用代码更新您的问题。

【讨论】:

    猜你喜欢
    • 2023-02-21
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多