JCIFS SMB Library - 尝试列出域时出错(.listFiles)

时间:2018-05-17 10:20:52

标签: java networking samba smb jcifs

我有以下代码,其中列出了我网络上找到的域名。

try{
    //Listamos todos los dominios de la red smb
    raiz = new SmbFile("smb://");
    dominios = raiz.listFiles();
} catch(SmbException e) {
    System.out.println(e.toString());
}

它抛出了一个

  

jcifs.smb.SmbAuthException:登录失败,未知用户名或错误   密码。

问题是我知道代码应该有效,因为有时候(比如15次运行中的1次),它会按照它应该列出的域:

  

DOMAIN1 /   DOMAIN2 /   DOMAIN3 /

还尝试了我的家庭网络上的代码,它每次都有效。

无论如何,如果我尝试列出特定域的文件:

  

raiz = new SmbFile(“smb:// DOMAINX”);

它可以正常使用网络的3个域中的2个。在另一个中,发生的情况与之前完全相同 - 只是像15次运行中的1次一样正常工作 - 所以我猜测问题出在具体域的配置中。

我被困住了。有人知道会发生什么,或者我怎么能更接近解决方案?

1 个答案:

答案 0 :(得分:0)

无法确定电话,但似乎您没有DomanX DC的访问权限。列表域是一个非确定性过程,其结果取决于哪个PC被用作"主浏览器"。这个角色可以在PC之间切换,这解释了为什么你有时成功(当MB来自D1或D2时),否则失败(当BM属于D3时)。

有可能通过wireshark捕获成功和失败的运行来了解更多信息