我知道 Windows 默认充当 SMB/CIFS 服务器。因此,可以使用适当的 SMB 客户端从网络中的另一台计算机轻松访问 Windows 文件。但如果我想做相反的事情并访问 SMB,该怎么办?服务器在另一台机器上视窗机器?
换句话说,Windows 是否真的只有 SMB 服务器组件,而没有客户端组件?
我使用的是 Windows Vista SP2。我尝试从 Windows 访问 SMB 服务器的方式是转到“计算机”,然后转到“网络”。我可以看到网络中的所有设备,甚至我的电视也出现了,但没有显示托管 SMB 服务器的基于 Linux 的 STB。这在 Windows 中是正常现象吗?
但是,我只需使用 Android 手机结合 ASTRO 文件管理器和 SMB 模块即可访问 STB。我甚至可以通过这种方式将其连接到 Windows 计算机,而不仅仅是基于 Linux 的 STB。我甚至可以将文件从基于 Linux 的 STB 复制到基于 Windows 的 PC,所有这些都可以通过手持 Android 设备完成。但我无法从 Windows 计算机访问任何东西……这是怎么回事?
我认为 Windows 只是缺少 SMB/CIFS 客户端组件。我说得对吗?如果是这样,我在哪里可以获得在 Windows 上运行的 SMB 客户端?我在 Google 上看到的大多数客户端都是针对 Linux 的。
答案1
不,事实并非如此。Windows 使用 SMB 作为其基本的文件共享协议,自 Windows for Workgroups 3.1 以来,几乎所有 Windows 版本都包含 SMB/CIFS 客户端功能。(微软还为早期版本的 Windows 甚至 MS-DOS 分发了独立客户端,根据版本不同,命名为“Microsoft 网络客户端”或“Microsoft LAN 管理器”。)
您的 PC 浏览器无法看到 STB 上的共享的原因可能是与工作组名称有关的问题:使用旧的“NetBIOS”网络浏览协议时,Windows 仅显示同一工作组内的主机,尽管仍可通过名称访问其他主机。(请注意,网络浏览不是 SMB 的一部分,并且不是 SMB 运行所必需的。)
尝试通过名称直接访问 SMB 服务器。打开命令提示符窗口并尝试以下命令:
net view \\servername
查看可见的共享;dir \\servername\sharename
列出共享的内容;net use s: \\servername\sharename
将共享映射到驱动器号。
还可以尝试更改servername
为 STB 的 IPv4 地址。