在windows1809中映射的网络驱动器没有重新连接

时间:2020-01-09 10:46:22  来源:igfitidea点击:

最近升级到Windows 2016年10月10日更新(1809)的用户开始抱怨在Windows启动时映射的网络驱动器没有自动重新连接。登录后,用户会在文件资源管理器中的所有映射网络驱动器的图标上看到一个大红十字。如果在命令提示符下运行命令net use,那么在所有映射的驱动器前面,我们将看到状态Unavailable。用户连接的网络驱动器和GPO映射的驱动器都不会自动重新连接。

BT1809升级后无法重新连接到网络

在这种情况下,通知区域会出现一个弹出窗口,其中包含警报:

无法重新连接所有网络驱动器。

单击此处检查网络驱动器的状态。

重新启动Windows 10 1809设备后,网络驱动器将不再自动安装。映射的网络驱动器显示在文件资源管理器中,但与它们的连接不可用。从NAS设备连接的文件夹以及其他Windows/Linux计算机上的共享文件夹都会出现此问题。Windows 10 1809更新中的此错误已得到Microsoft的确认,并计划在2019年初修复。目前,微软提供了一个解决办法来解决恢复与映射网络驱动器的连接问题(请参阅KB4471218—在Windows10 1809版本中映射网络驱动器可能无法重新连接)。为此,建议在logщт处运行某个脚本,或者如果映射的驱动器使用组策略连接,请更改GPO设置。

强制重新连接映射的网络驱动器的登录脚本

运行记事本(记事本),将以下PowerShell代码复制到其中,并将文件保存到名为的C:\PS目录中 地图驱动器.ps1:

$i=3
while($True){
$error.clear()
$MappedDrives = Get-SmbMapping |where -property Status -Value Unavailable -EQ | select LocalPath,RemotePath
foreach( $MappedDrive in $MappedDrives)
{
try {
New-SmbMapping -LocalPath $MappedDrive.LocalPath -RemotePath $MappedDrive.RemotePath -Persistent $True
} catch {
Write-Host "Shared folder connection error: $MappedDrive.RemotePath to drive $MappedDrive.LocalPath"
}
}
$i = $i - 1
if($error.Count -eq 0 -Or $i -eq 0) {break}
Start-Sleep -Seconds 30
}

此脚本选择所有无法访问的映射驱动器,并尝试以持久模式重新连接它们。

创建另一个 地图驱动器.cmd使用以下代码编写脚本文件:

PowerShell -Command "Set-ExecutionPolicy -Scope CurrentUser Unrestricted" >> "%TEMP%\StartupLog.txt" 2>&1
PowerShell -File "%SystemDrive%\PS\MapDrives.ps1" >> "%TEMP%\StartupLog.txt" 2>&1

此代码允许我们正确调用上面描述的PowerShell脚本。我们可以通过复制地图驱动器.cmd文件保存到%ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp目录。

也可以创建调度程序任务来运行地图驱动器.cmd用户登录时的文件。我们可以使用PowerShell控制台或者PowerShell控制台创建任务调度器(任务程序).

新建任务,指定任务名称(reMapNetworkDrives),选择代表 Builtin\Users组启动的任务;

触发器页签上,选择任务在任何用户登录系统时运行( 登录时);

操作选项卡上的 程序/脚本字段中,指定地图驱动器.cmd文件;

条件选项卡上,我们可以启用选项网络->仅当以下网络连接可用时才启动->任何连接;

重新启动计算机或者使用用户帐户注销/登录。当用户登录时,脚本应该运行,这将重新创建所有映射的驱动器连接。

请注意,默认情况下,以提升模式连接的网络驱动器在正常模式下不可用,反之亦然。但你可以修复它-请参阅文章Mapped drives are not available from a highted apps。

通过GPO重新连接映射的网络驱动器

如果使用域组策略将网络驱动器映射到用户,则需要更改策略设置才能正确连接驱动器。

打开连接驱动器的域策略,在“用户设置”->“首选项”->“Windows设置”->“驱动器映射”部分,找到网络驱动器分配策略(策略),并将 操作类型从“更新”更改为“替换”。

在用户登录时更新客户端上的策略后,映射的网络驱动器将被删除并重新分配。