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

适用于:Windows 10 神州网信政府版

1.概要:

映射的网络驱动器可能无法在操作系统启动时自动重新连接。登录后,用户会在文件资源管理器中的所有映射网络驱动器的图标上看到一个大红叉。用户映射的网络驱动器和通过GPO 映射的驱动器都不会自动重新连接。

在这种情况下,通知区域中会出现一个带有警报的弹出窗口:

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

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

可以通过以下几种方法解决映射的网络驱动器连接问题。

2.操作步骤/更多信息:

使用PowerShell脚本自动重新连接映射的网络驱动器

创建一个名为MapDrives.ps1的脚本文件,将文件保存到 C:\PS 目录中。

$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

}

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

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

PowerShell -Command "Set-ExecutionPolicy -Scope CurrentUser Unrestricted" >> "%TEMP%\StartupLog.txt" 2>&1

PowerShell -File "%SystemDrive%\Scripts\MapDrives.ps1" >> "%TEMP%\StartupLog.txt" 2>&1

此代码允许绕过PowerShell 执行策略并运行上述 PS1 脚本。

通过将 MapDrives.cmd 文件复制到%ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp文件中,当用户登录时自动运行此脚本。

也可以创建计划任务以在用户登录时运行 MapDrives.cmd 文件。

  1. 在创建任务对话框的常规选项卡上,键入任务的名称(例如Map Network Drives)和描述,选择任务运行的用户组;
  2. 在触发器选项卡上,选择当任何用户登录系统时运行任务;
  3. 在操作选项卡上的程序/脚本字段中,指定 MapDrives.cmd 文件的路径;
  4. 在条件选项卡上,启用选项网络 -> 仅当以下网络连接可用时启动 -> 任何连接。

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

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

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

在客户端上更新组策略设置后,当用户登录时,映射的网络驱动器会被删除,然后再重新连接。

通过 GPO 推迟连接映射的网络驱动器

在网络接口完全初始化之前,系统可能会在用户登录时尝试重新连接网络驱动器。为了防止映射驱动器在网络完全启用之前连接,可以配置特定的组策略设置。

通过本地组策略编辑器 (gpedit.msc)或者域GPO编辑器(gpmc.msc)配置此设置。转到”计算机配置”-“管理模板”-“系统”-“登录”,启用算机启动和登录时总是等待网络策略。

 

禁用无法重新连接所有网络驱动器通知

如果计算机不在网络中(网络驱动器设计为不可用),可以禁用“无法重新连接所有网络驱动器”通知。

转到注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider,新建一个DWORD(32位)参数,重命名为RestoreConnection且值为0。