“ net use”启动脚本后炼狱中的网络驱动器

|| 我有一个BAT文件,该文件通过内部服务器上的组策略在启动时运行。 BAT执行一个nant脚本,然后通过
net use
命令映射多个外部位置。到目前为止,所有映射都已通过公共IP映射到属于不同域的外部计算机。
net use e: \\\\111.111.111.111\\someshare$ /persistent:yes
net use f: \\\\111.111.111.222\\someshare$ /persistent:yes
net use g: \\\\111.111.111.333\\someshare$ /persistent:yes
这已经成功了。现在,我添加了一台新计算机,该计算机与内部服务器属于同一网络和域。在旧的映射继续起作用的同时,新的映射不起作用。
net use h: \\\\anothercomputer\\d$\\somefolder /persistent:yes
我只知道这是行不通的,因为依赖此驱动器映射的后续脚本都将失败,并指出该位置不存在。如果尝试手动运行相同的连接脚本,则“ 0”表示   发生系统错误85 ...本地设备名称已在使用中。 好的,它已经以某种方式映射到了某个地方。因此,我尝试使用
net use h: /d
取消映射,但失败了。   找不到网络连接。 所以我无法映射它。我无法取消映射。显然,它存在于一些网络炼狱中。这里发生了什么?如何获得这个新位置的映射并在脚本中可见?     
已邀请:
首先检查驱动器h:是否已使用其他帐户映射。从服务映射驱动器时,只能从系统帐户使用该驱动器,并且正常运行该驱动器或使用UAC“以管理员身份运行”功能也可以使用该驱动器。如果要取消映射,则必须使用与映射相同的方法。 您可以在尝试映射驱动器之前检查是否可以ping通另一台计算机。 您也可以尝试使用明确的用户名和密码连接到另一台计算机。而且,如果将其映射到登录脚本中,则无需使用/ persistent选项。
net use \\\\anothercomputer /user:username password > c:\\temp\\netuse.log 2>&1
net use h: \\\\anothercomputer\\d$\\somefolder 
在上面的示例中,我将第一个net use命令的输出写入日志文件,因此您之后可以检查错误消息。 如果使用/ persistent选项,则无需再次重新映射它,可以使用
if exist h:\\nul ...
检查驱动器h:是否已经存在。     
Microsoft已记录这是以下系统中普遍存在的问题: Microsoft Windows 2000服务器 Microsoft Windows 2000 Advanced Server Microsoft Windows 2000专业版 如果您的内部服务器正在运行这些服务器中的任何一个,那么下面的链接肯定会为您提供帮助。 甚至其他方面,签出解决方案也无害。另请查看链接底部页面底部的Windows注册表更改部分。 http://support.microsoft.com/kb/308337#top     
可能是客户问题。 下面的MS支持文章确定了具有所描述症状的问题。 解决方法是在试图映射驱动器的客户端中更改注册表值。 https://support.microsoft.com/zh-CN/kb/253821     

要回复问题请先登录注册