我们在工作时遇到一个问题,一台计算机(Win8)在冷启动后会显示映射驱动器,但无法连接。这通常不是问题,因为用户可以输入驱动器(尽管有红色 X),但在这种情况下,用户使用访问映射驱动器的软件,而软件/Windows 不允许这样做,因为未连接。这意味着用户必须重新启动计算机,软启动将自动连接驱动器。
我们已通过一个 bat 文件连接所有用户映射驱动器。
这可能表明映射驱动器在实际网络连接之前尝试连接。我们尝试了这个修复:
本地计算机策略 > 计算机配置 > 管理模板 > 系统 > 登录 > 启用:计算机启动和登录时始终等待网络
这种方法管用了几天,但现在问题又出现了。
有任何想法吗?
答案1
以前见过这个。
更改登录脚本以删除驱动器并每次重新映射
net use /delete p: /y
net use p: \\server\share /persistent:yes
如果仍然不起作用,请输入 ping 或其他东西来延迟脚本,如 ping。
@ECHO OFF
ping 127.0.0.1
net use /delete p: /y
net use p: \\server\share /persistent:yes
怀疑这是正确的方法,但这是一个解决办法
答案2
因此,您不必维护批处理文件,所有先前映射的驱动器都存储在注册表中...如果他们以前有过,请再试一次。
一个简单的 powershell 脚本,设置为在用户登录时作为任务运行,并在任务条件中“等待以下网络连接可用”...
Get-ChildItem HKCU:\Network | %{
$d = $_.Name.Replace('HKEY_CURRENT_USER\Network\','')
$p = $(Get-ItemProperty -Path Registry::$_ -Name "RemotePath").RemotePath
NET USE $d`: /DELETE
NET USE $d`: $p
}
我们将其用于通过 VPN 进行用户映射,VPN 客户端的“连接后”脚本并不像它应该的那样可靠。
效果很好。