Windows操作系统会自动识别连接的外部设备,并对其进行相应的映射。这使你省去了手动映射外部网络驱动器的麻烦。然而,有时由于用户账户控制的问题,你可能会遇到无法重新连接所有网络驱动器的错误。
简单地断开和重新连接网络驱动器可以帮助你解决这个错误。然而,如果这不起作用,你可以使用组策略编辑器配置登录策略来解决这个错误。在这里,我们将讨论这个和更多的解决方案,以解决Windows中无法重新连接所有网络驱动器的错误。
1.安装最新的Windows更新
微软建议在旧版本的Windows电脑上安装最新的更新来解决这个问题。检查你在更新中心是否有新的功能更新,并安装它们,看看是否有助于解决这个错误。
要安装Windows 11更新。
- 按 Win + I 打开设置。
- 在左侧窗格中打开 "Windows更新"标签。
- 点击 "检查更新"。Windows将扫描并显示待定的更新。
- 点击下载和安装 ,等待更新完成安装。
- 安装完成后,重新启动你的电脑,检查是否有任何改进。
2.断开网络驱动器的连接
如果你知道是哪个驱动器导致的错误,简单的断开和重新连接可以帮助你解决这个错误。
要断开驱动器的连接。
- 按 Win+E键打开 文件管理器。
- 在左边的窗格中,右击这台电脑,选择断开网络驱动器。在Windows 11中,选择显示更多选项 ,查看断开驱动器选项。
- Windows将显示所有连接到你的系统的网络驱动器。
- 选择你要断开连接的驱动器,然后点击确定。
3.强制Windows在计算机启动时等待网络
如前所述,无法重新连接所有网络驱动器的错误往往是由于网络驱动器的自动映射造成的。为了解决这个问题,你可以让Windows在计算机启动时等待网络,并使用组策略编辑器登录。
请注意,组策略编辑器只在操作系统的Windows专业版、教育版和企业版上可用。如果你使用的是家庭版操作系统,请阅读我们关于如何在Windows Home上启用GEdit的指南,然后继续下面的步骤。
使用GEdit改变登录策略。
-
按Win + R 键,打开 "运行"。
-
输入gpedit.msc并点击确定 ,打开组策略编辑器。
-
在本地组策略编辑器中,导航到以下策略。
Computer Configuration > Administrative Templates > System > Logon
-
在右窗格中,找到并双击 "在计算机启动和登录时始终为网络 "策略。
-
在弹出的对话框中,选择已启用。
-
单击 "应用 " 和 "确定 "以保存更改。
4.使用批处理脚本映射驱动器
如果在组策略编辑器中调整登录策略没有帮助,你可以使用批处理脚本来修复这个错误。这个方法包括为命令提示符和PowerShell创建一个新的批处理脚本,在启动时运行并映射必要的驱动器。
要创建一个批处理脚本来映射Windows中的驱动器。
-
打开一个新的记事本文件。要做到这一点,按Win + R打开**"运行",输入记事本**,然后单击 "确定"。
-
接下来,复制并粘贴以下脚本。
PowerShell -Command "Set-ExecutionPolicy -Scope CurrentUser Unrestricted" >> "%TEMP%\StartupLog.txt" 2>&1
PowerShell -File "%SystemDrive%\Scripts\MapDrives.ps1" >> "%TEMP%\StartupLog.txt" 2>&1
-
接下来,按Ctrl + S 打开保存 对话框。
-
在 文件名中,输入batch.cmd。
-
接下来,点击保存类型下拉菜单,选择所有文件。
-
点击 "保存 "来保存该文件。
-
接下来,我们将创建一个powerhell脚本。要做到这一点,打开一个新的记事本文件。
-
在记事本文件中,复制并粘贴下面的脚本。
$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
}
-
同样,按Ctrl + S打开 "保存 "对话框。
-
这里,输入MapDrives.ps1作为文件名。
-
接下来,点击 保存类型的下拉菜单,选择所有文件。
-
点击 "保存 "来保存文件。
-
接下来,你需要把batch.cmd文件移到你的 Windows 计算机的启动 文件夹中。
-
要做到这一点,按Win + R 打开运行。
-
接下来,复制并粘贴以下路径以访问启动 文件夹。
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
- 将 batch.cmd文件移到启动 文件夹中。
- 接下来,按Win + E 打开文件管理器。在左边的窗格中,点击 此电脑 下的Windows C ,访问C:\ 驱动器。
- 右键单击并选择新建 > 文件夹。
- 将该文件夹重命名为Scripts。
- 现在,将MapDrives.ps1文件移到Scripts 文件夹中。
完成后,重新启动你的电脑。当电脑重新启动时,Windows会自动运行MapDrives脚本,并解决无法重新连接所有网络驱动器的错误。
5.使用任务调度程序来运行该脚本
如果由于某种原因,Windows无法在启动时运行MapDrives.ps1脚本,你可以使用任务调度器来执行这项任务。你所要做的就是创建一个新的任务来启动一个程序,并将其设置为运行先前创建的MapDrives脚本。下面是如何做的。
-
按Win 键,然后输入任务调度器。然后,点击 任务调度器,启动该程序。
-
接下来,点击行动 ,然后点击创建任务。
-
在 "名称 "栏中,为任务输入一个名称。
-
接下来,点击安全选项下的 更改用户或组选项 。
-
输入你想分配任务的用户名或组别,然后点击检查名称。
-
一旦完成,点击确定。
-
接下来,在安全选项下选择以最高权限运行 选项。
-
接下来,打开 "触发器 "选项卡。
-
点击 "新建"。
-
点击开始任务下拉菜单,选择登录时。
-
接下来,打开 "行动 "选项卡,点击 "新建 "按钮。
-
在这里,确保行动 下拉菜单被设置为 启动一个程序。
-
接下来,点击浏览 按钮。
-
现在选择你在上一步创建的MapDrives.ps1脚本,并点击打开。
-
在 " 添加 参数 "字段中,键入以下内容。
-windowsstyle hidden -command .\MapDrives.ps1 >> %TEMP%\StartupLog.txt 2>&1
- 接下来,在 "开始于 "字段中,键入以下内容。
%SystemDrive%\Scripts\
-
单击 "确定 "以保存更改。
-
接下来,打开 "条件 "选项卡。
-
在这里,选择 "仅在以下网络可用时启动 " 选项。
-
在下面的下拉菜单中,选择任何连接
-
单击 "确定 "以保存更改。
最后,重新启动你的电脑以应用这些变化。任务调度程序将与添加到启动文件夹的命令提示符脚本类似地工作,并在登录期间运行该脚本以映射驱动器。
6.使用注册表编辑器禁用网络驱动器通知
如果你想停止无法重新连接所有网络驱动器的通知,你可以通过调整注册表项来实现。下面是如何做到这一点的。
注意,对注册表项的不正确修改可能会导致系统故障。我们建议你在进行下面的步骤之前创建一个系统还原点。
另外,为了安全起见,你也可以在Windows 11中启用自动注册表备份。
完成后,继续执行下面的步骤,以禁用Windows中无法重新连接所有网络驱动器的通知。
- 按 Win + R打开运行。
- 输入regedit ,然后点击确定 ,打开注册表编辑器。在UAC的提示下,点击 "是 "。
- 在注册表编辑器中,导航到以下位置。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider
-
在右边的窗格中,寻找RestoreConnection 值。如果它不存在,你将需要创建一个新值。
-
要创建一个新值,右击NetworkProvider 键,选择新建>DWORD(32位)值。
-
将该值重命名为RestoreConnection。
-
右键单击 RestoreConnection ,选择Modify。
-
在值数据字 段中,键入0,然后点击 "确定 "保存更改。
关闭注册表编辑器并重新启动你的电脑。虽然这不会解决错误,但它可能会防止你每次登录时弹出恼人的错误通知。
解决Windows中的 "无法重新连接所有网络驱动器 "错误
虽然文章中的故障排除技巧很有用,但你也可以使用第三方网络驱动器管理器来正确管理网络驱动器。这些工具可以确保网络驱动器在登录后得到正确的连接,并尽量减少网络驱动器相关错误的发生。