Windows访问SMB共享的时候 一个服务器下多个用户的时候会提示 你没有权限访问xxx, 请与网络管理员联系请求访问权限
但又找不到地方可以重新登录SMB, 此时需要使用命令行(震怒):
net use
查看目前所有的链接
net use <路径> /delete
找到对应服务器的已建立的链接, 并删除 名为$IPC
的链接也要删除.
net use * /delete
或者使用删除全部的SMB链接.
net use \\<服务器IP>\<Share> /USER:<用户名> <密码> /PERSISTENT:YES
输入新的用户名和密码 注意, 如果删除链接之后直接在Explorer里双击打开的话还是会使用原来的账号密码.
net use <盘符>: \\<服务器IP>\<Share> /USER:<用户名> <密码> /PERSISTENT:YES
添加一个网络映射 执行这个命令不要使用管理员权限, 否则映射出来的磁盘不能在普通用户的文件管理器里看到.
如果访问同一个服务器用了多个账户, 则net use
命令会遇到报错:
1 | 发生系统错误 1219。 |
此时, 先尝试按照上述命令清除已经建立的链接. 如果还不行, 可以看下Windows凭据管理器里是否有预设账号密码, 如果有则删除. 如果以上都没问题的话可以尝试重启 Workstation
服务 (任务管理器里叫 LanmanWorkstation
) 使用服务单元管理器的 重新启动
或者下面的命令(需要管理员权限):
1 | net stop workstation |
Workstation服务描述: 使用 SMB 协议创建并维护客户端网络与远程服务器之间的连接。如果此服务已停止,这些连接将无法使用。如果此服务已禁用,任何明确依赖它的服务将无法启动。
规避同一服务器只能使用一个账号的限制: Windows对此的限制是服务器名维度, 所以可以尝试使用多个指向相同IP的域名使用不同账户来访问 (例如hosts文件, 自定义dns等) 以达到实际上多账户访问同一服务器的效果.
参考
Accessing a Windows share with a different username
“net use” does not create drives in Explorer on Windows 10
Net Use Error 1219 - I just want to mount a network share
How can I clear the “authentication cache” in Windows 7 to a password protected samba share?
How to Clear Saved Credentials for Network Share or Remote Desktop Connection
Samba+Windows: Allow multiple connections by different users?