Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows 10

Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10

Các bản build Windows 10 gần đây có bug khiến ổ mạng mapped (mapped network drives) không tự kết nối lại khi khởi động Windows. Sau đăng nhập, user thấy dấu X đỏ lớn trên icon tất cả ổ mạng mapped trong File Explorer. Chạy lệnh net use thấy trạng thái Unavailable trước tất cả ổ mapped. Cả ổ mapped do user tạo và do GPO mapped đều không tự kết nối lại.

Vấn đề xuất hiện lần đầu trên Windows 10 1809, nhưng vẫn xảy ra trên các build mới hơn, kể cả Windows 10 2004.

Ổ mạng mapped không kết nối lại trên Windows 10

Windows 10 vì lý do nào đó ngừng tự map ổ mạng sau khởi động. Ổ mapped hiển thị trong File Explorer nhưng không kết nối được.
Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10

Cửa sổ pop-up hiện ở khu vực thông báo:

Could not reconnect all network drives. Click here to check the status of your network drives.

Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10

Vấn đề xảy ra cả với ổ map từ NAS và thư mục chia sẻ trên Windows/Linux khác. Bug xuất hiện từ Windows 10 1809, Microsoft khẳng định đã sửa bằng cập nhật KB469342 ngày 5/12/2018 (khắc phục vấn đề ổ mapped không kết nối lại sau boot và đăng nhập). Nhưng bug vẫn xuất hiện trên build mới.

Có thể tải và cài cập nhật thủ công từ Microsoft Update Catalog.

Microsoft cũng đưa ra workaround khôi phục kết nối ổ mapped (xem KB4471218). Chạy script PowerShell khi user logon. Nếu ổ map qua GPO, cần đổi cài đặt GPO.

Tự động kết nối lại ổ mạng mapped dùng PowerShell

Cách dùng script PowerShell tự kết nối lại ổ mapped khi user logon Windows.

Mở notepad.exe, copy code PowerShell sau, lưu tại C:\PS thành MapDrives.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
}

Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10

Script chọn tất cả ổ mapped không truy cập được và thử kết nối lại chế độ persistent.

Tạo file MapDrives.cmd với code:
PowerShell -Command "Set-ExecutionPolicy -Scope CurrentUser Unrestricted" >> "%TEMP%\StartupLog.txt" 2>&1
PowerShell -File "%SystemDrive%\PS\MapDrives.ps1" >> "%TEMP%\StartupLog.txt" 2>&1

Code này bypass execution policy PowerShell và chạy script PS1. Copy MapDrives.cmd vào thư mục startup user: %ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp.

Hoặc tạo Scheduled Task chạy MapDrives.cmd khi user logon. Tạo task qua PowerShell hoặc GUI Task Scheduler (Taskschd.msc).

  1. Tạo task mới, đặt tên (reMapNetworkDrives), chọn chạy thay mặt group Builtin\Users;
    Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10
  2. Tab Triggers: chạy khi bất kỳ user nào logon (At logon → Any user);
  3. Tab Actions: trường Program/script chỉ định đường dẫn MapDrives.cmd;
  4. Tab Conditions bật Network → Start only if network connection available → Any connection;
    Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10
  5. Reboot hoặc logoff/logon. Script sẽ chạy và tạo lại kết nối ổ mapped.

Lưu ý: Mặc định ổ map ở chế độ elevated không khả dụng ở chế độ normal và ngược lại. Có thể sửa – xem bài "Mapped drives are not available from the elevated apps".

Tự động kết nối lại ổ mapped qua GPO

Nếu map ổ mạng cho user qua Domain GPO, cần đổi cài đặt policy để kết nối đúng.

Mở GPO map ổ, mục User Settings → Preferences → Windows Settings → Drive maps, tìm policy gán ổ mạng, đổi Action type từ Update thành Replace.
Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10

Sau khi cập nhật GPO trên client, ổ mapped sẽ bị xóa và kết nối lại khi user logon.

Ổ mapped không kết nối lại trên Windows 10 2004 (20H2)

Vấn đề cũng xảy ra trên Windows 10 2004 (build 20H2). Gặp với ổ map từ thiết bị mạng cũ chỉ hỗ trợ SMBv1 (Windows XP/2003, NAS cũ).

Khắc phục: thêm tham số ProviderFlags=1 vào registry user cho từng ổ mapped.

Ví dụ: user có ổ mạng U: map trong session, vào khóa registry HKEY_CURRENT_USER\Network\U. Tạo DWORD ProviderFlags giá trị 1.

Hoặc chạy lệnh:

REG ADD "HKCU\Network\U" /v "ProviderFlags" /t REG_DWORD /d "1" /f
Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10

Đ trì hoãn map ổ mạng trong Windows qua GPO

Windows có thể thử kết nối lại ổ mạng khi user logon trước khi network interface hoàn tất khởi tạo. Để ngăn ổ mapped kết nối cho đến khi network sẵn sàng, cấu hình GPO cụ thể.

Cấu hình qua Local Group Policy Editor (gpedit.msc) hoặc Domain GPO Editor (gpmc.msc). Vào Computer Configuration → Administrative Templates → System → Logon, bật policy Always wait for the network at computer startup and logon.
Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10

Khởi động lại máy.

Cũng khắc phục được nếu chỉ chờ 15 giây sau boot (hoặc thoát hibernation/sleep) trước khi login. Thời gian đủ cho Windows khởi tạo mạng.

Tắt thông báo "Could not reconnect all network drives"

Nếu máy không ở mạng doanh nghiệp (ổ mạng không có sẵn theo thiết kế), và phiền thông báo "Could not reconnect all network drives" mỗi lần boot, có thể tắt.

Vào khóa registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider, tạo DWORD mới tên RestoreConnection giá trị 0.
Khắc phục lỗi không kết nối lại ổ mạng mapped trên Windows 10