94

使用 Windows 2008 R2。在我们的服务器上,我们收到此错误:“不允许同一用户使用多个用户名与服务器或共享资源建立多个连接。断开与服务器或共享资源的所有先前连接,然后重试。” 尝试在命令行上映射驱动器时。但是,远程计算机没有打开的资源管理器窗口,当我进行“网络使用”时,远程计算机上没有任何显示。

为什么当“net use”报告没有打开驱动器或文件夹时,Windows 认为某些东西已连接?

如何强制 Win 在不重新启动的情况下停止认为某些东西已连接?

如果我指定用户名和密码,我似乎会收到错误消息。如果我只是输入:

 net use n: \\192.168.10.120\test 

它有效,但如果我输入

 net use n: \\192.168.10.120\test "<password>" /user:"<domain\username>" 

它给出了错误。为什么会这样?

4

11 回答 11

152

在我们的网络中,我发现在客户端计算机上重新启动 Workstation 服务能够解决此问题。这在重新启动客户端也可以解决问题的情况下有效。但是重新启动服务更快更容易[并且在重新启动时可能会起作用]。

我的印象是本地 Windows PC 正在缓存一些旧信息,这似乎可以清除它。

有关重新启动服务的信息,请参阅此问题。归结为在命令行上运行以下命令:

C:\> net stop workstation /y
C:\> net start workstation

注意 - 该/y标志将强制服务停止,即使这会中断现有连接。但否则它会提示用户并等待。因此,这可能是编写脚本所必需的。


请注意,在 Windows Server 2016(可能还有其他)上,这些命令也可能会停止 netlogon 服务。如果是这样,您将不得不添加:net start netlogon

于 2016-06-09T14:19:33.413 回答
69

即使您通过 删除共享文件夹net use * /del,在服务器端仍然存在连接。

为了解决微软设计创建的这个问题,您应该以某种方式映射驱动器,让 Windows 认为它​​是另一台服务器上的另一个共享。最简单的方法是使用 DNS 别名或 IP 地址。\\IP\Share在您的情况下,如果您的第一个映射使用与您当前凭证一样的 IP 地址,您应该使用类似\\ServerName\Share password /user:Domain\Username这样的东西应该使用新凭证创建一个新共享。

微软称这种行为是设计使然……我称之为愚蠢的设计。

于 2015-06-09T14:48:31.090 回答
31

跟着这些步骤:

  • 选择Start按钮,然后键入cmd
  • 右键单击该Command Prompt选项,然后选择Run as administrator
  • 键入net use,然后按Enter
  • 查找列出的任何可能有问题的驱动器。在发生此问题的许多情况下,驱动器可能没有分配一个字母。您将要删除该驱动器。
  • 在命令提示符中,键入net use /delete \\servername\foldername servername\foldername 是您要删除的驱动器。
于 2015-03-05T11:04:50.260 回答
6

net use \\<host> /delete最快且有针对性(不影响其他连接),但很多时候它不起作用,原因有很多。

net stop workstation正如@DaveInCaz 提供的那样,在某些情况下应该会有所帮助。

如果都失败,重启 LanmanWorkstation 服务,可以使用这个脚本:

@echo.
@echo Restarting
net stop LanmanWorkstation /y
@PING.EXE -n 2 0.0.0.0 >nul
net start LanmanWorkstation

笔记:

  • 重新启动 Workstation 服务(例如从 services.msc 控制台)是不够的。
    该服务可能需要在短时间内禁用。如果您从脚本重新启动,添加 1 秒延迟可能会更好。

  • 如果net use \\<host> /delete由于另一个程序仍在使用该共享而无法正常工作,您可以识别该程序并删除阻塞句柄而不关闭它。使用 Sysinternals Process Explorer,按 Ctrl+F 进行搜索并输入拥有此类共享的主机名称。单击每个结果,搜索对话框后面的程序窗口会跳转到找到的程序的句柄。右键单击该句柄并选择关闭句柄。(或者如果可以的话,关闭这样的程序)这仅适用于确实有程序阻止共享断开连接的常规情况。不是在那些无缘无故被阻止的奇怪情况下。

  • 提升帐户有它自己的环境。这带来了一些意想不到的行为。
    如果您net use在提升的 cmd/PS 控制台中执行命令,它不会影响 Windows 资源管理器使用哪个用户来访问共享。
    反过来说,如果您从共享运行一个程序并且该程序将询问并获得提升的访问权限,该程序将失去与该共享以及它可能需要运行的任何文件的连接。您需要net use从提升的 cmd/PS 运行以创建到该共享的提升共享连接。

  • 在某些情况下,从 Windows 资源管理器(左面板顶部)的快速访问中删除最近使用的文件夹可能会有所帮助。
    如果您要连接的主机根据用户提供不同的访问级别,和/或具有访客用户(匿名)共享访问权限,那么您可能经常会遇到这种情况。
    当您使用您的用户名访问共享时,此类共享中的文件夹可能会作为最近项目分配给快速访问面板。重新启动后打开 Windows 资源管理器时,将检查快速访问中的最近项目,并与主机建立连接,并以 MUP 的形式保持打开状态。如果您的共享同时接受授权和匿名连接,只需打开 Windows 资源管理器将创建匿名连接,当您单击需要授权的共享时,您将不会看到凭据对话框,而是出现错误。

于 2019-07-07T16:06:35.113 回答
6

看来重启windows explorer服务就够了:

  1. 打开任务管理器
  2. 查找 Windows 资源管理器进程
  3. 选择它。选择后,右下角会出现“重启”按钮。
  4. 单击“重新启动”按钮。Windows 资源管理器将重新加载。

它对我的情况有所帮助。

于 2020-05-29T19:58:36.420 回答
5

这是 @UuDdLrLrSs answer的 Powershell 替代品。

Get-Service workstation | Restart-Service -Force
于 2020-09-05T15:51:41.147 回答
2

可能是 Windows 凭据管理器保留了网络共享的凭据。

凭据管理器 - Windows 凭据

加载凭据管理器(最简单的方法可能只是在开始菜单中搜索),查看您的网络共享是否有任何 Windows 凭据,然后尝试删除/更新它们。

于 2020-09-15T09:23:40.890 回答
0

我已经在超级用户站点中为“使用不同用户打开网络驱动器”(https://superuser.com/questions/577113/open-a-network-drive-with-different-user/1524707# 1524707 )

我想使用路由器的 USB 驱动器作为不同用户的网络存储,因为这个线程我遇到了错误消息

“不允许同一用户使用多个用户名多次连接到服务器或共享资源。断开与服务器或共享资源的所有先前连接,然后重试。”

除了使用“NET USE”命令的方法,我从网页中找到了另一种方法

http://backupchain.com/i/how-to-fix-error-1219-multiple-connections-to-a-server-or-shared-resource-by-the-same-user

最好通过编辑目录“C:\Windows\System32\Drivers\etc”下的hosts文件来解决Windows连接限制。

比如我的路由器IP地址是192.168.1.1,它的U盘有\user1、\user2、\user3三个共享文件夹,分别为三个用户,那么我们可以在hosts文件中添加以下三行,

192.168.1.1 服务器1

192.168.1.1 服务器2

192.168.1.1 服务器3

在此示例中,我们将 server1 映射到用户 #1,将 server2 映射到用户 #2,将 server3 映射到用户 #3。

重新启动PC后,我们可以在Windows文件资源管理器中同时连接用户#1的文件夹\user1、用户#2的\user2和用户#3的\user3,即

如果我们在资源管理器的文件夹指示字段中输入路由器名称为\\server1,它将在资源管理器的右窗格中显示路由器USB驱动器的所有共享文件夹,并在资源管理器左窗格的“网络”项下显示sever1,那么用户#1可以访问共享文件夹 \user1。

此时如果我们在资源管理器的目录指示栏中输入\\server2或\\server3,则可以将路由器的U盘连接为server2或server3,并访问用户#2或用户#的共享文件夹\user2或\user3 3 并同时保持“server1”连接。

使用这种方法,我们还可以使用“NET USE”命令来执行这些操作。

于 2020-02-12T07:26:10.130 回答
0

在 Windows 10 中,我使用 Windows 凭据管理器解决了这个问题。我找到了我遇到问题的 NAS 单元的多个凭据。删除两个凭据后,我可以毫无问题地访问 NAS 映射的网络驱动器。

于 2020-12-02T20:26:04.020 回答
0

这对我有用:

  • 安装并运行Microsoft Sysinternals tcpview
  • 在菜单栏中,在搜索栏中输入服务器ip地址
  • 出现进程名称系统。右键单击该行并选择关闭连接
于 2021-10-22T11:25:37.960 回答
0

如果您像我一样因为浏览了错误而打开此页面,并且这是第一个结果

确保您没有在 Windows 中打开共享文件夹

  1. 我试图运行批处理脚本以映射\\192.168.10.15\Shared到驱动器号
  2. 得到错误
  3. 我跑net use /delete \\192.168.10.15\Shared
  4. 尝试再次运行批处理,同样的错误
  5. 谷歌搜索错误,找到这个页面,没有任何帮助
  6. 我注意到我之前\\192.168.10.15\Shared直接从“运行”打开,它是在一个窗口中打开的
  7. 关上了窗户
  8. 再试一次
  9. 有效
于 2021-11-03T14:29:30.023 回答