1

我想在给定 UNC 路径的情况下获取托管文件的 Active Directory 站点。LDAP 树有点大,包含多个域和子域。我正在做的是解析路径并获取机器名称。从那里,我可以获取 IP 并查询 AD 以让 AD 站点从子网中获取 IP 范围。只要目标服务器只是一台带有共享文件夹的简单 Windows 计算机,就可以正常工作。

但是,我遇到了基于 DFS 域的共享的问题。获取机器名称不起作用,因为您得到的是 DFS 域控制器,并且 IP 可以根据它每次分配的根目标动态更改。我不知道如何解决这个问题。我将不胜感激任何查询 Active Directory、以某种方式从 DFS 服务器获取信息、使用 JCIFS 或任何其他选项的解决方案。另外我想知道是否有任何方法可以识别 UNC 路径属于 DFS 共享。只是为了增加复杂性,我们不能使用 Windows .NET DFS API,因为应用程序在 Linux 中使用 Java 运行。

提前致谢。

4

1 回答 1

1

我找到了解决这种情况的方法。您可以从 Active Directory(通过 LDAP)获取 DFS 信息。如果路径是 \mydomain.foo.bar\folder1\folder2 那么folder1是 DFS 服务器。您可以使用该名称(在本例中)搜索“FT-Dfs”类型的对象,folder1然后从中获取属性 remoteServerName,以查找实际路径。唯一的限制,在我意识到之前让我有些头疼,如果您从全局目录服务器查询 Active Directory,您将无法获取该属性,您需要查询包含该对象的特定服务器(或遵循来自父级的引用森林)。

于 2013-06-15T21:08:42.470 回答