当计算机加入 Active Directory 时,文件操作不通过网络重定向器驱动程序
File operations not going through Network Redirector driver when computer is joined to Active Directory
在我们的服务器上安装了第 3 方网络重定向器驱动程序(来自 Avid Technology、Nexis 文件系统)。
当安装了驱动程序的计算机没有加入 AD 时,一切正常,但是一旦计算机加入 AD,文件操作似乎没有命中 Avid 的重定向器驱动程序,可能是因为客户要涉及到DC和DFS。
看看执行时会发生什么(nexis 是 Avid 使用重定向器驱动程序的共享存储,nxzajem 是 nexis 上的“工作区”。所有这些都应该由驱动程序处理):
echo 2 > \nexis\nxzajem\test.txt in processmonitor 揭示了这一点:
如果我断开 DC 与网络的连接(因为我可以这样做),操作将花费更长的时间并最终失败,这表明客户端计算机想要查询 DNS 和 DC 以进行操作,而它应该由 Avid 的重定向器处理。
查看注册表以检查重定向器的顺序,我可以看到 Avid 的重定向器列在第一位。
熟悉重定向器驱动程序内部工作原理的人是否知道为什么会发生这种情况?当然,我没有 Avid 的 Nexis 客户端的源代码:)
问题的原因是域的 NetBIOS 名称与 Avid 重定向器驱动程序处理的前缀名称相同。
根据设计,默认情况下打开的 DFS 客户端优先于注册表中指定的所有其他网络重定向器。
MSDN article describing MUP and DFS interaction
当机器不在域中时,DFS 客户端无事可做,只是将前缀解析传递给其他重定向器。但是当机器加入域时,由于 NetBIOS 名称冲突,DFS 客户端接管了。由于未配置 DFS,因此无法找到 Avid 重定向器的“共享”。
这也解释了在 ProcessMonitor 中观察到的行为。
在我们的服务器上安装了第 3 方网络重定向器驱动程序(来自 Avid Technology、Nexis 文件系统)。
当安装了驱动程序的计算机没有加入 AD 时,一切正常,但是一旦计算机加入 AD,文件操作似乎没有命中 Avid 的重定向器驱动程序,可能是因为客户要涉及到DC和DFS。
看看执行时会发生什么(nexis 是 Avid 使用重定向器驱动程序的共享存储,nxzajem 是 nexis 上的“工作区”。所有这些都应该由驱动程序处理): echo 2 > \nexis\nxzajem\test.txt in processmonitor 揭示了这一点:
如果我断开 DC 与网络的连接(因为我可以这样做),操作将花费更长的时间并最终失败,这表明客户端计算机想要查询 DNS 和 DC 以进行操作,而它应该由 Avid 的重定向器处理。
查看注册表以检查重定向器的顺序,我可以看到 Avid 的重定向器列在第一位。
熟悉重定向器驱动程序内部工作原理的人是否知道为什么会发生这种情况?当然,我没有 Avid 的 Nexis 客户端的源代码:)
问题的原因是域的 NetBIOS 名称与 Avid 重定向器驱动程序处理的前缀名称相同。
根据设计,默认情况下打开的 DFS 客户端优先于注册表中指定的所有其他网络重定向器。 MSDN article describing MUP and DFS interaction
当机器不在域中时,DFS 客户端无事可做,只是将前缀解析传递给其他重定向器。但是当机器加入域时,由于 NetBIOS 名称冲突,DFS 客户端接管了。由于未配置 DFS,因此无法找到 Avid 重定向器的“共享”。
这也解释了在 ProcessMonitor 中观察到的行为。