映射的网络驱动器可能无法在Windows 10 版本 1809中重新连接

本文提供了一个解决方法,解决映射的网络驱动器可能无法在Windows 10 版本 1809重新连接的问题。

适用于:  Windows 10 版本 1809
原始 KB 编号:   4471218

症状

你在Windows 10 版本 1809中遇到以下问题:

  • 在Windows资源管理器中,映射的网络驱动器上会显示红色 X。
  • 在命令提示符下运行net use命令时,映射的网络驱动器将显示为 不可用
  • 在通知区域中,通知将显示以下消息:

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

解决方法

Microsoft 正在制定解决方案,并估计解决方案将于 2018 年 11 月底推出。 监视 Windows 10 1809 更新历史记录 KB 4464619中的映射驱动器主题。 目前,可以通过运行脚本来解决此问题,以便在登录设备时自动重新连接映射的网络驱动器。 为此,请创建两个脚本文件,然后根据需要使用其中一个解决方法。

创建名为 MapDrives.cmd 的脚本文件

文件应在常规命令提示符下运行,但不应在提升的命令提示符处运行,因为它应以与Windows资源管理器相同的权限运行:

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

创建名为 MapDrives.ps1 的脚本文件

文件应在常规命令提示符下运行,但不应在提升的命令提示符处运行,因为它应以与Windows资源管理器相同的权限运行:

$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 "There was an error mapping $MappedDrive.RemotePath to $MappedDrive.LocalPath"
        }
    }
    $i = $i - 1
    if($error.Count -eq 0 -Or $i -eq 0) {break}

    Start-Sleep -Seconds 30
}

解决办法

所有解决方法都应在标准用户安全上下文中执行。 在提升的安全上下文中执行脚本将阻止映射驱动器在标准用户上下文中可用。

解决方法 1:创建启动项

备注

此解决方法仅适用于登录时具有网络访问权限的设备。 如果设备在登录时尚未建立网络连接,则启动脚本不会自动重新连接网络驱动器。

  1. 将 mapDrives.cmd (脚本文件) 复制到以下位置:
    %ProgramData%\Microsoft\ Windows\ Start MenuProgramsStartUp\\
  2. 将脚本文件 (MapDrives.ps1) 复制到以下位置:
    %SystemDrive%\Scripts\
  3. 将在 %TEMP%\ 文件夹中创建日志文件 (StartupLog.txt) 。
  4. 注销,然后登录到设备以打开映射驱动器。

解决方法 2:创建计划任务

  1. 将脚本文件MapDrives.ps1复制到以下位置:
    %SystemDrive%\Scripts\
  2. 任务计划程序中,选择 **“**ActionCreate > 任务”。
  3. “创建任务”对话框的“常规”选项卡上,键入名称 (,例如 映射网络驱动器) 和任务说明。
  4. 选择 “更改用户或组”,选择本地用户或组 ((如 LocalComputerUsers\) ,然后选择 “确定”。
  5. “触发器” 选项卡上,选择 “新建”,然后为 “开始”任务 字段选择“登录”。
  6. “操作” 选项卡上,选择 “新建”,然后为 “操作” 字段选择 “启动程序”。
  7. 入“ 程序/脚本 ”字段的Powershell.exe。
  8. “添加参数 (可选) 字段中 ,键入以下内容:
    -windowsstyle hidden -command .\MapDrives.ps1 >> %TEMP%\StartupLog.txt 2>&1
  9. (可选) 字段的“开始”中,键入脚本文件的 %SystemDrive%\Scripts\) (位置。
  10. “条件” 选项卡上, 仅在以下网络连接可用时选择“开始” 选项,选择 “任意连接”,然后选择 “确定”。
  11. 注销,然后登录到设备以运行计划任务。