不允许同一用户使用多个用户名与服务器或共享资源建立多个连接


73

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

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

如何强制Win在不重新启动的情况下停止认为已连接的事物?

如果我指定了用户名和密码,看来我得到了错误。如果我只是输入:

 net use n: \\192.168.10.120\test 

它有效,但是如果我放入

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

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


1
我没有找到完整的答案,但是我发现我可以以“普通用户”或“管理员”身份来获得“网络使用”的两个不同答案。我找到了这个网站:woshub.com/…,其中包含一些有趣的信息,但是我仍然不知道确切的原因。SunChero在下面的回答是最接近的。:)
raphael75 '16

1
@ raphael75,我敢打赌,当您成功执行net use n:\\ 192.168.10.120 \ test时,您会看到文件共享服务器中列出的会话使用了属于另一个用户的net session / list而不是您尝试使用的用户名在第二个命令行中进行连接。
machinarium

1
当涉及网络驱动器映射时,Windows用户帐户控制机制似乎存在缺陷。因此,如@ raphael75所指出的那样,net use * /d从正常模式和提升模式/令牌执行都可以帮助确保所有网络连接均被删除。至少在Windows 7上对我有用。
马丁·康奈尔

Answers:


49

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

为了解决Microsoft故意设计的此问题,您应该以某种方式映射驱动器,以使Windows认为它是另一台服务器上的另一个共享。最简单的方法是使用DNS别名或IP地址。在您的情况下,如果您的第一个映射使用的IP地址\\IP\Share与您当前的凭据相同,则应使用类似的内容使用\\ServerName\Share password /user:Domain\Username新的凭据创建一个新的共享。

微软通过设计将这种行为称为..我称其为愚蠢的设计。


2
您能否提供更多详细信息,例如您提到的“按设计”的博客或文章?
machinarium

4
这是Microsoft知识库文章,在“设计时”对其进行了描述:support.microsoft.com/zh-cn/kb/938120
MarkoŽivanović16

1
约定的愚蠢设计。我尝试了所有可能的方法,包括重新启动工作站服务。终于,在弹出工作站两年后(总是在项目中间)不想重启我的工作站之后,我忍不住要说:我清除了所有的网络使用项目,然后重新启动,问题消失了。
JayRO-GreyBeard

我不能说IP地址,但似乎将\\ machine-name \ share和\\ machine-name.domain.com \ share视为相同;我上面尝试这种为自己的错误消息,在Windows 2016
Derreck院长

120

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

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

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

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

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


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


6
这对我有用。感到困惑的是为什么以前工作的我的Samba共享突然不起作用。谢谢!
Christopher Townsend

2
尝试映射连接到路由器的驱动器时,出现了OP发布的错误。您的回答解决了我的问题!
安德烈亚斯(Andreas Evjenth)'17

在我的情况下,重新启动客户端无效,但是,此方法有效。谢谢!
Erdem KAYA

1
我认为这应该是公认的答案。它可以解决问题,而当前接受的答案仅提供了一种解决方法。
加里·斯坦顿

2
@DerreckDean感谢-我无法验证自己,但已将其添加为答案中的注释。
UuDdLrLrSs

26

按着这些次序:

  • 选择Start按钮,然后输入cmd
  • 右键单击该Command Prompt选项,然后选择Run as administrator
  • 键入net use,然后按Enter
  • 查找列出的所有可能存在问题的驱动器。在许多情况下,出现此问题,可能不会给驱动器分配一个字母。您将要删除该驱动器。
  • 在命令提示符下,键入net use /delete \\servername\foldername servername \ foldername是要删除的驱动器。

1
但是,这不适用于WebDav连接。;(
Andrew Savinykh

2

似乎足以重新启动Windows资源管理器服务:

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

就我而言,这很有帮助。


1

net use \\<host> /delete 应该可以,但是很多时候都没有。

net stop workstation 因为@DaveInCaz在这种情况下提供了作品。

我有一些为什么以及如何无法发表评论。

  • 重新启动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资源管理器即可创建匿名连接,而当您单击需要授权的共享时,将不会显示凭据对话框,而是一个错误。



0

我在超级用户站点中给出了“使用其他用户打开网络驱动器”线程的答案(/superuser/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”目录下的主机文件来解决Windows连接限制。

例如,我的路由器IP地址为192.168.1.1,其USB驱动器具有三个共享文件夹,分别为\ user1,\ user2和\ user3,这三个用户分开,然后我们可以在hosts文件中添加以下三行,

192.168.1.1服务器1

192.168.1.1服务器2

192.168.1.1服务器3

在此示例中,我们将服务器1映射到用户#1,将服务器2映射到用户#2,将服务器3映射到用户#3。

重新启动PC后,我们可以在Windows File Explorer中同时连接用户#1的文件夹\ user1,用户#2的\ user2和用户#3的\ user3。

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

此时,如果我们在Explorer的目录指示字段中键入\\ server2或\\ server3,则可以将路由器的USB驱动器连接为server2或server3,并访问用户#2或用户#的共享文件夹\ user2或\ user3。 3,并同时保持“ server1”连接。

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


0

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

凭据管理器-Windows凭据

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


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.