jcifs无法解析DFS网址

时间:2018-12-06 17:13:40

标签: samba jcifs dfs

当尝试使用DFS URL访问SmbFile时,jcifs库失败。但是,当我使用dfsutil返回的UNC时就可以使用。

NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication( domain, user, pass );
SmbFile folder = new SmbFile(path,auth);

如果path设置为

smb://mydomain.example.com/ourdfs/go/to/my/folder

通话失败

Exception in thread "main" jcifs.smb.SmbException: The network name cannot be found.

但是使用解析名称调用成功

dfsutil diag viewdfspath \\mydomain.example.com\ourdfs\go\to\my\folder

The DFS Path <\\mydomain.example.com\ourdfs\go\to\my\folder> 
resolves to -> <\\someserver.example.com\sharename$\my\folder>

然后以下网址适用于path

smb://someserver.example.com/sharename$/my/folder

如何设置jcifs以正确处理DFS,即不必通过dfsutil转换url?

1 个答案:

答案 0 :(得分:0)

解决方案是设置WINS配置。 IPCONFIG /ALL将显示以下信息:

Connection-specific DNS Suffix  . : MYDOMAIN.EXAMPLE.COM
Description . . . . . . . . . . . : Ethernet Connection
Physical Address. . . . . . . . . : DE-AD-BE-EF-F0-0D
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 10.10.1.42(Preferred)
Subnet Mask . . . . . . . . . . . : 255.0.0.0
Lease Obtained. . . . . . . . . . : December 3, 2018 09:03:04 AM
Lease Expires . . . . . . . . . . : December 9, 2018 09:03:04 AM
Default Gateway . . . . . . . . . : 10.10.1.1
DHCPv4 Class ID . . . . . . . . . : O-mobile
DHCP Server . . . . . . . . . . . : 10.10.11.13
DNS Servers . . . . . . . . . . . : 10.10.4.48
                                    10.10.4.56
Primary WINS Server . . . . . . . : 10.10.1.59
Secondary WINS Server . . . . . . : 10.10.2.58
NetBIOS over Tcpip. . . . . . . . : Enabled

随后的配置项必须设置如下:

jcifs.netbios.wins=10.10.1.59

或通过设置jcifs.Config.setProperty()