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

适用于: Windows 10, version 1809, all editions

症状


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

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

解决方法


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

脚本

创建名为 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=3while($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 Menu\Programs\Startup

  2. 将脚本文件 (MapDrives.ps1) 复制到以下位置:

    %SystemDrive%\Scripts\

  3. 将在 %TEMP%\ 文件夹中创建日志文件 (StartupLog.txt)。
  4. 注销,然后重新登录到设备以打开映射的驱动器。


替代方法 2: 创建计划任务

  1. 将脚本文件 MapDrives.ps1 复制到以下位置:

    %SystemDrive%\Scripts\

  2. 在任务计划程序中, 选择“操作”“创建任务”
  3. 在“创建任务”对话框的“常规”选项卡上, 键入任务的名称(如“映射网络驱动器”)和说明 。
  4. 选择“更改用户或组”,选择一个本地用户或组(如 LocalComputer\Users),然后选择“确定”
  5. 在“触发器”选项卡上,选择“新建”,然后为“开始任务”字段选择“登录时”
  6. 在“操作”选项卡上,选择 “新建”,然后为“操作”字段选择“启动程序”
  7. Program/script 字段中键入 Powershell.exe
  8. 在“添加参数 ( 可选) ”字段中, 键入以下内容 :

    -windowsstyle hidden -command .\MapDrives.ps1 >> %TEMP%\StartupLog.txt 2>&1

  9. 在“开始 (可选)” 字段 中,键入脚本文件的位置 (%SystemDrive%\Scripts\)。

  10. 在“条件”选项卡上,选择“仅当以下网络连接可用时启动”选项,选择“任何连接”, 然后选择“确定”
  11. 注销,然后重新登录到设备以运行计划的任务。