不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接?

经常使用Windows的网上邻居/网络/SMB/Samba服务的朋友,应该都会遇到过各种访问不畅的问题。

基础的问题咱们不多讨论了,有时候最气人的是,明明一开始都已经能访问了,自己什么都没改,后面就又不行了。

比如如题的,不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接,这个问题。

这个问题多半是多用户名/多访问会话/多共享路径等情况在运行时的时空错乱重叠导致的。

网上的解法?

网上大多叫你用net命令清理掉之前未正常关闭的访问会话和记录,来达到重置的目的。

这么做理论上可行,依据也是正确的,但实际上你还是大概率不能解决问题。

原因?

因为锁这个东西,不是你想释放就能释放的,你需要一些更狠的手段。

说到这,我知道你已经在想什么。但……

重启电脑就算了,特别是这个情况,你很可能服务器和客户端都要重启一遍,真够呛的。

最佳颗粒度和最鲁棒的解法?

其实,你直接重新启动workstation服务就好了。

方法,就是搜索打开windows的“服务”管理组件,然后找到workstation服务,在其属性页中,选择“重新启动”即可。

注意,因为这个是一个基础服务,可能会有一些别的服务会依赖它,但没关系,让Windows自行决定一并把这些上层服务都重启一遍即可——要的,不就是这个结果么?

并且注意,要在服务器和客户端上都确保重启一次workstation服务,才能保证百分百一次性解决这个问题哦。

后话

这招大杀器,其实不止能解决这个问题,理论上,很多SMB协议相关的运行时问题,通过这个方法都能解决。

因为这个相当于重启windows的整个SMB服务,很多运行时问题自然迎刃而解。

VS Code + GitHub Copilot 让你重新爱上手搓代码

VS Code 的 GitHub Copilot 是开发者的强力辅助工具,能够智能完成代码、自动生成注释并支持.inline chat 功能,极大提升编码效率。虽然侧边栏聊天存在一定不足,但整体体验良好,让开发者在“手搓代码”与效率之间找到平衡。