题
我们正在尝试在 OS X 应用程序中获取 SMB 卷列表,并按照 Apple 的建议使用 NMBLookup 来获取列表。然而,我们通常无法使用该工具获得可用 SMB 卷的完整列表。我们有一个很好的基准,因为我们可以看到 Apple Finder 获得的完整列表,并且大多数时候,我们的列表不匹配,通常缺少服务器。
我们尝试了多种执行该命令的方法,但尚未找到任何可以让我们返回完整列表的方法。
nmblookup -M -- -
nmblookup '*'
ETC
有谁知道我们可能做错了什么,或者知道有更好的方法来查询本地子网上可用的 SMB 卷吗?
解决方案
这在我们的网络中运行得相当好。要点是对 nmblookup 返回的每个条目使用 smbclient -L:
nmblookup -M -- - | grep -v querying | while read sw do echo $sw | awk -F' ' '{print $1}' | xargs smbclient -L done
编辑:@paul - 现在我明白你的意思 - vista 刚刚加入我们的网络,Finder 显示它,但不显示 nmblookup,但 smbclient 在“服务器”部分显示它。
smbclient 有一个“服务器”部分,其中列出了网络上找到的计算机。我使用的命令行是:
smbclient -L 192.168.0.4 //the IP as returned by nmblookup of the master browser cristi:~ diciu$ smbclient -L 192.168.0.4 Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.0.24-7.fc5] Sharename Type Comment --------- ---- ------- internal Disk some share [..] Anonymous login successful Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.0.24-7.fc5] Server Comment --------- ------- MMM Vista box not showing up in nmblookup
不隶属于 StackOverflow