有时在同一个 Windows (Vista) 会话期间,我必须与另一个用户连接到工作组(无域)中的同一个 (samba) 文件服务器。似乎 Windows 已将当前连接与用户信息缓存在一起。为了强制进行新的身份验证,我运行了一个批处理脚本:
@echo off
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
但这有时有效,有时无效,并迫使我关闭 Windows 会话。
有没有办法完全断开与实际共享的连接,以新用户身份登录。
更新
我没有打开任何程序,没有连接任何驱动器号并且“网络使用”为空,但 Samba 服务器 (smbstatus) 上仍然打开 IPC$ 共享。
现在添加
net use \\server\IPC$
然后再次
net use * /delete /y
而“net use”抱怨打开文件或在文件夹中搜索使用 \server\IPC$(西班牙语消息)。
我认为Vista仍然占据搜索和索引领域的主导地位。
更新 2
我想我现在明白了:我停止了“Windows 搜索”服务,运行批处理后,系统再次要求我输入凭据。
答案1
我发现,在“我的电脑”中右键单击驱动器并说“断开连接”是最可靠的方法。问题通常出现在某个共享上的某个文件被某个进程保持打开状态时。
但是,当您需要以另一个用户身份访问共享时,为什么不向 samba 添加 netbios 别名,而不是断开连接,以便您可以同时与两个不同的用户一起使用共享?
例如,如果您的服务器名为“servername”,您可以在 /etc/samba/smb.conf 中添加此行:
netbios aliases = altservername
重新启动 samba,然后您就可以使用新用户连接到 \\altservername\share,Windows 不会在意。连接到 IP 地址可能也行得通,但这对我来说似乎总是更容易。
答案2
您可以停止“工作站”服务。该服务处理所有 SMB 共享,因此重新启动它将刷新这些连接。
- 以管理员用户身份打开服务面板(开始,输入
services.msc
并按Enter)。 - 在右侧列表中搜索工作站。
- 右键单击“工作站”,然后单击“重新启动”。等待进度条走完。