在不重新启动工作站服务的情况下断开/注销 Windows 网络共享

Jas*_*n C 17 windows windows-7 network-shares

我有一个运行 (SMB) 的文件服务器,我通过直接访问 \\1.2.3.4 在资源管理器 (Windows 7 Professional) 中连接到它。我以一个用户身份登录,没有保存凭据,现在希望注销(实际上我想更改为其他用户,但通常能够注销会很有用)。

我四处寻找方法来做到这一点,并找到了一堆建议使用某种形式的信息net use \\1.2.3.4 /del

然而,这些实际上似乎都不适合我。我运行net use * /del,然后用于net use验证列表是否为空,但共享神秘地保留在资源管理器中,不受影响,可访问,并且仍在使用以前的登录名。

我尝试过的另一件事也失败了,例如net use \\1.2.3.4 /user:newusername切换凭据。然而,即使net use显示一个空的连接列表,这仍然会产生一个错误,指出不允许与不同用户的同一资源的多个连接 - 为什么有连接没有出现在net use的列表中对我来说是个谜。

然后我找到了这篇文章如何从共享文件夹(microsoft.com)注销,它建议:

  1. net use * /del (或任何服务器)。
  2. 从凭据管理器清除凭据。
  3. 重新启动工作站服务。

这个程序对我有用。凭证管理器没有任何兴趣,因为我没有保存凭证,但是在清除连接后重新启动 Workstation 服务net是关键(我确实必须关闭所有资源管理器窗口才能重新启动服务)。

我的问题是:这根本不是很方便,尤其是当我不得不向不太懂技术的用户解释时。虽然我当然可以创建一个批处理脚本来自动化整个过程,但是否有一种实际的、正确的、一致的方法来做到这一点,而不涉及重新启动服务(并且可能不涉及命令行,尽管我个人不这样做)不介意)?

另外,一个子问题:令我感到奇怪的是,我在这件事上找到的绝大多数资源都没有建议重新启动 Workstation,而且建议的net use单独使用过程似乎至少对其他在其上发表评论的人有效那些帖子。工作站重新启动是否对我来说是独一无二的并表明我的机器上存在其他一些问题,还是由于某种原因它只是被排除在所有说明之外?只有 microsoft.com 支持帖子有推荐此步骤的说明,这最终使它对我有用。

注销共享似乎是一个足够常见的用例,可以证明一些简单的方法是合理的,因此我对弄清楚这一点的难度感到困惑。


我尝试过的其他事情没有效果:

  • 在使用net use命令之前和之后关闭所有资源管理器窗口(如Kody Browns 的回答中所建议的那样),以及使用“每个文件夹窗口单独的进程”设置,希望它是某种每进程凭据缓存(也受到该答案的启发) .
  • 更改家庭组连接管理设置(由holmzi_online在上述 microsoft.com 帖子中的回答建议)。
  • 杀死所有资源管理器进程(包括主进程)并在之后重新启动资源管理器net use * /delRobert Greer 在这里建议,尽管该问题与映射驱动器有关)。

Vic*_*tor 5

开始 -> 控制面板 -> 用户帐户和家庭安全 -> 用户帐户 -> 管理您的凭据。

展开“Windows 凭据”之一,然后单击“从保管库中删除”。

开始 -> 控制面板

控制面板 -> 用户帐户和家庭安全

用户帐户和家庭安全 -> 用户帐户

用户帐户 -> 管理您的凭据

登出

是的


STT*_*TTR -1

net use * /del
net stop Workstation /Y
cmdkey /delete:<resourcename>
net start Workstation
net start browser
Run Code Online (Sandbox Code Playgroud)

方式 2:为一台计算机使用多个 NetBIOS 名称:

reg add "HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters" /v OptionalNames /t REG_MULTI_SZ /d "NetBIOSName01\0 NetBIOSName02\0 NetBIOSName03\0"
Run Code Online (Sandbox Code Playgroud)

然后就可以使用不同的NetBIOS名称连接不同用户的资源。

net use L: \\NetBIOSName01 /user:<username01> <password01> /P:Yes
net use M: \\NetBIOSName02 /user:<username02> <password02> /P:Yes
net use N: \\NetBIOSName03 /user:<username03> <password03> /P:Yes
Run Code Online (Sandbox Code Playgroud)

编辑%windir%\system32\drivers\etc\lmhosts并添加

<Server IP>  NetBIOSName01            #PRE
<Server IP>  NetBIOSName02            #PRE
<Server IP>  NetBIOSName03            #PRE
<Server IP>  <OriginalNetBIOSname>            #PRE
Run Code Online (Sandbox Code Playgroud)

在所有网络工作站中

所有用户都将连接到其资源。