答案1
您没有显示用户如何重新连接他们的网络映射,因此我假设他们运行如下批处理脚本:
net use r: \\servername\share1
net use s: \\servername\share2
如果是这样,那么问题就很明显了:VPN 已断开连接,但 Windows 不知道这一点。对于 Windows,映射仍然存在,因此在重新连接到 VPN 后运行批处理文件时,用户会收到“本地设备名称已被使用”的错误。
解决方案是,通过在重新创建共享之前删除共享,使批处理文件更安全。批处理将如下所示:
net use r: /d
net use r: \\servername\share1
net use s: /d
net use s: \\servername\share2
答案2
如果他们重新启动计算机并连接到 VPN,则网络驱动器就会连接。
对于企业 VPN 连接来说,这很正常。特别是,如果已经进行了网络映射,则只需使用相同映射重新连接 VPN 就会出现您所看到的错误。
您可以做的是检查您的网络连接,以了解连接首先断开的原因。
您或许可以编写一个脚本来断开远程映射。将此快捷方式放在桌面上。在重新连接 VPN 之前运行它。
NET USE Z: /Delete
如果您使用 GPO 进行驱动器映射,则批处理脚本对于远程用户来说通常更可靠、更灵活。
另一种方法(我使用的)是从 VPN 连接中删除网络映射。将映射连接的快捷方式放在桌面上。
然后连接VPN,运行脚本来连接网络驱动器。
如果 VPN 断开连接,您现在有一个脚本可以在尝试重新连接 VPN 之前断开驱动器连接。
NET USE Z: \\Server\Drive /user:username
从长远来看,这总体上更容易,因为您可以解决错误。
使用 Windows 用户脚本 (GPedit) 在关机/注销时断开远程驱动器也很有用。然后每次重新启动或启动都是一次新的连接。
答案3
将用户切换到批处理脚本来映射驱动器,而不是使用 GPO。
在组策略管理中,我通过以下方式阻止将 GPO 应用到用户:
单击 GPO
选择“委托控制”选项卡
单击“高级”按钮,然后单击“添加”按钮
我搜索了用户,然后单击了“确定”。
在“权限”下,我选中了“应用组策略”旁边的框,然后选择“拒绝”
最后,我点击了“确定”按钮
在用户的计算机上,我运行了 gpupdate /force
然后,我重启了用户的电脑
这是批处理文件的模板。
net use r: /d
net use r: \\servername\share1
net use s: /d
net use s: \\servername\share2