最近公司上了NAS网盘服务器之后, 许多人开始学着用SMB登录自家的文件空间里传东西, 唯独有个瑕疵是: 办公室里的电脑是Windows系统, 进NAS的smb空间时, 被上一位输入账号密码给点记住此密码了。为此作为运维也是头疼不已。怎么才能解决呢?
办法来了,上解决方案!
听说记住了密码就不能切换用户去登smb了, 是这样吗? 两个办法。
用host文件给smb地址换马夹
这是个最快的办法
编辑本地host文件, windows/system32/drivers/etc/host
如果本地smb/NAS服务器是192.168.1.5, 那么host文件里添加几行域名指向, 例如:
192.168.1.5 aaaa.com 192.168.1.5 bbbb.com
如果你电脑里有某种XX管家, 可能会禁止修改host文件,自行处理。
Windows凭证管理器
开始->运行, 输入
control /name Microsoft.CredentialManager
进入控制面板里的Windows凭据管理界面, 把涉及smb登录的地址记忆凭据都删一删
然后开始->运行->cmd->进入命令窗口, 输入
net use
查看是不是连着什么共享呢, 最快的方法, 直接输入
net use * /del /y
一次性删除所有已激活的共享链接。
如果还不行,重启电脑,再进系统就将弹出smb用户登录认证框。
cmdkey命令
这个方法比较麻烦, 还是开始->运行->cmd->进入命令行窗口, 输入
cmdkey /list
这相当于Windows凭证管理器的文本命令模式
会看到一大堆列表
通过输入
cmdkey /delete:每个凭据的第一行标题内容(可能包含相当长的文本)
来删除记忆过的用户名称
如果想批量删除, 可以把下列脚本写进记事本, 再保存成.bat文件, 运行
@echo off cmdkey.exe /list > "%TEMP%\List.txt" findstr.exe Target "%TEMP%\List.txt" > "%TEMP%\tokensonly.txt" for /F "tokens=1,* delims= " %%G in ('cmdkey /list ^| findstr Adobe') do cmdkey /delete:%%H for /F "tokens=1,* delims= " %%G in ('cmdkey /list ^| findstr adobe') do cmdkey /delete:%%H for /F "tokens=1,* delims= " %%G in ('cmdkey /list ^| findstr 192') do cmdkey /delete:%%H del "%TEMP%\List.txt" /s /f /q del "%TEMP%\tokensonly.txt" /s /f /q echo All done pause#
如果你一个一个删, 尤其是遇到一些安装了一大堆Adobe软件的机器, 恐怕要累个半死了。
生效之前,可能需重启电脑, 笔者测Win10不需要重启……