ไดรฟ์ที่แมป (Mapped drives) เป็นสิ่งที่สะดวกมาก เพราะช่วยให้คุณใช้ไดรฟ์ข้ามเครือข่ายได้ เมื่อคุณแมปไดรฟ์ จะมีตัวเลือกชื่อ Reconnect at sign-in ที่ช่วยคุณหลุดพ้นจากการแมปไดรฟ์ทุกครั้งที่ล็อกอิน สิ่งที่มันทำคือแมปไดรฟ์อัตโนมัติเมื่อเริ่มต้น (startup) ปกติคุณคิดว่านี่เป็นฟีเจอร์ที่ดีและประหยัดเวลา แต่มีกรณีที่มันกลายเป็นเรื่องรำคาญ
![[แก้ไข] ไม่สามารถเชื่อมต่อไดรฟ์เครือข่ายทั้งหมดได้ (Could not Reconnect All Network Drives)](https://th.wsxdn.com/UploadFiles_2907/202204/2022041112152424.png)
ข้อความข้อผิดพลาด Could not reconnect all network drives ที่ปรากฏทุกครั้งที่คุณเปิดเครื่อง เกิดจากสองสาเหตุหลัก สาเหตุแรก ไดรฟ์ที่แมปไม่พร้อมใช้งาน หมายความว่าอาจล้มเหลวหรือถูกตัดการเชื่อมต่อ สาเหตุที่สอง เมื่อ Windows 10 ล็อกอิน จะมีความล่าช้าสั้นๆ ก่อนที่เครือข่ายจะพร้อม แต่ระบบพยายามแมปไดรฟ์ก่อนที่เครือข่ายจะพร้อม ซึ่งเป็นผลให้เกิดปัญหา
ได้ที่ทราบว่ามีหลายวิธีที่คุณสามารถแก้ปัญหานี้จริงๆ มีสคริปต์ที่แก้ไขปัญหาให้คุณ และสิ่งที่คุณต้องทำคือทำให้มันทำงานตอนเริ่มต้น (startup) สำหรับสิ่งนี้ คุณสามารถใช้โฟลเดอร์ Startup หรือใช้ฟีเจอร์ Task Scheduler ได้ เรามาเริ่มกันเลย
วิธีที่ 1: ทำให้ Windows รอเครือข่าย (Make Windows wait for Network)
เหมือนที่กล่าวไว้ ปัญหาเกิดเมื่อระบบพยายามแมปไดรฟ์เครือข่ายก่อนที่เครือข่ายจะพร้อม ดังนั้น สิ่งแรกที่ควรทำคือทำให้ Windows รอเครือข่ายก่อนที่จะพยายามแมปไดรฟ์ สำหรับสิ่งนี้ เราจะต้องเปลี่ยนนโยบายกลุ่มท้องถิ่น (local group policy) เล็กน้อย
ทำตามคำแนะนำด้านล่าง:
- กด Windows key + R เพื่อเปิดกล่องโต้ตอบ Run
- พิมพ์ gpedit.msc แล้วกด Enter จะเปิด Local Group Policy Editor
- ใน Local Group Policy Editor ไปที่ตำแหน่งต่อไปนี้:
Computer Configuration > Administrative Templates > System > Logon
![[แก้ไข] ไม่สามารถเชื่อมต่อไดรฟ์เครือข่ายทั้งหมดได้ (Could not Reconnect All Network Drives)](https://th.wsxdn.com/UploadFiles_2907/202204/2022041112152509.png)
- ด้านขวา หา นโยบาย Always wait for the network at computer startup and logon คลิกสองครั้งเพื่อแก้ไข
- เลือก Enabled แล้วกด Apply สุดท้ายคลิก OK
- รีบูทระบบเพื่อบันทึกการเปลี่ยนแปลง และดูว่าปัญหายังคงอยู่หรือไม่
วิธีที่ 2: ใช้สคริปต์ตอนเริ่มต้น (Using Scripts at Start-Up)
หากวิธีข้างต้นไม่แก้ไขปัญหาได้ คุณสามารถสร้างสคริปต์ที่ทำงานตอนเริ่มต้นเพื่อแมปไดรฟ์ให้คุณและแก้ไขปัญหา เราจะให้สคริปต์ทั้งสำหรับ Command Prompt และ PowerShell คุณต้องมีทั้งสองเพราะสคริปต์ cmd อ้างถึงสคริปต์ PowerShell
Command Prompt
ทำตามคำแนะนำด้านล่างเพื่อสร้างสคริปต์สำหรับ command prompt:
- เปิด Notepad
- คัดลอกและวางสคริปต์ด้านล่างในไฟล์ข้อความ
PowerShell -Command "Set-ExecutionPolicy -Scope CurrentUser Unrestricted" >> "%TEMP%\StartupLog.txt" 2>&1 PowerShell -File "%SystemDrive%\Scripts\MapDrives.ps1" >> "%TEMP%\StartupLog.txt" 2>&1
- บันทึกไฟล์นี้เป็น cmd ที่ตำแหน่งใดก็ได้ที่คุณชอบ
PowerShell
สำหรับสคริปต์ PowerShell ทำตามคำแนะนำด้านล่าง:
- เปิด Notepad อีกครั้ง
- คัดลอกสคริปต์ต่อไปนี้และวางในไฟล์ Notepad ใหม่:
$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.ps1 สำคัญมากที่คุณต้องใช้ชื่อที่ให้มา
ตอนนี้เราสร้างสคริปต์แล้ว คุณสามารถใช้โฟลเดอร์ StartUp เพื่อให้ไดรฟ์เครือข่ายของคุณเชื่อมต่ออยู่ นี่จะรันสคริปต์ตอน StartUp ดังนั้นคุณไม่ต้องกังวลเรื่องข้อผิดพลาดหรืออะไร ทำตามคำแนะนำด้านล่าง:
- เปิด File Explorer ไปที่พาธต่อไปนี้: %ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp
- เมื่อคุณอยู่ในโฟลเดอร์ StartUp แล้ว ให้คัดลอกสคริปต์ cmd ที่คุณสร้างไว้ มาวางในโฟลเดอร์นี้
![[แก้ไข] ไม่สามารถเชื่อมต่อไดรฟ์เครือข่ายทั้งหมดได้ (Could not Reconnect All Network Drives)](https://th.wsxdn.com/UploadFiles_2907/202204/2022041112152755.png)
- หลังจากนั้น ไปที่ไดรฟ์ระบบ (system drive) และสร้างโฟลเดอร์ชื่อ Scripts
- เมื่อสร้างโฟลเดอร์แล้ว ให้วางสคริปต์ PowerShell ไว้ที่นั่น
- สุดท้าย รีบูทระบบ และคุณควรจะเห็นไดรฟ์ที่แมปโดยไม่มีปัญหา
วิธีที่ 3: ใช้ Task Scheduler
หากคุณไม่ต้องการใช้โฟลเดอร์ StartUp คุณมีทางเลือกใช้ Task Scheduler ที่นี่ คุณจะต้องกำหนดงาน (task) ที่รันตอนเริ่มต้น ซึ่งจะรันสคริปต์ที่เราสร้างไว้แล้ว วิธีทำดังนี้:
- ก่อนอื่น สร้างโฟลเดอร์ Scripts ในระบบของคุณ และวางสคริปต์ PowerShell ไว้ที่นั่น
- หลังจากนั้น เปิด Task Scheduler โดยค้นหาในเมนู Start
- เมื่อเปิด Task Scheduler แล้ว คุณจะต้องสร้างงาน คลิกเมนูแบบเลื่อนลง Action แล้วคลิกตัวเลือก Create Task
![[แก้ไข] ไม่สามารถเชื่อมต่อไดรฟ์เครือข่ายทั้งหมดได้ (Could not Reconnect All Network Drives)](https://th.wsxdn.com/UploadFiles_2907/202204/2022041112152844.png)
- ในแท็บ General ให้ชื่องาน เช่น Script for Mapping Drives หรืออะไรก็ได้ที่คุณชอบ
- คลิกปุ่ม Change User or Group ในหน้าต่างใหม่ เลือกกลุ่มท้องถิ่นหรือผู้ใช้ เมื่อเสร็จ คลิก OK
- ติ๊กเลือก Run with highest privileges
![[แก้ไข] ไม่สามารถเชื่อมต่อไดรฟ์เครือข่ายทั้งหมดได้ (Could not Reconnect All Network Drives)](https://th.wsxdn.com/UploadFiles_2907/202204/2022041112152951.png)
- คลิกแท็บ Triggers แล้วกดปุ่ม New
- สำหรับตัวเลือก Begin the task เลือก At log on จากเมนูแบบเลื่อนลง หลังจากนั้น คลิก OK
![[แก้ไข] ไม่สามารถเชื่อมต่อไดรฟ์เครือข่ายทั้งหมดได้ (Could not Reconnect All Network Drives)](https://th.wsxdn.com/UploadFiles_2907/202204/2022041112152974.png)
- สลับไปแท็บ Actions แล้วกด New อีกครั้ง
- เลือก Start a program จากเมนูแบบเลื่อนลง Action แล้วพิมพ์ Powershell.exe สำหรับกล่อง Program/script
- พิมพ์คำสั่งต่อไปนี้สำหรับกล่อง Add arguments:
-windowsstyle hidden -command .\MapDrives.ps1 >> %TEMP%\StartupLog.txt 2>&1
- สำหรับ Start in คุณต้องพิมพ์ตำแหน่งของสคริปต์ PowerShell ที่เราสร้าง พิมพ์ตำแหน่งต่อไปนี้:
%SystemDrive%\Scripts\
- คลิก OK เพื่อปิดหน้าต่าง New Action
- ตอนนี้ สลับไปแท็บ Conditions
![[แก้ไข] ไม่สามารถเชื่อมต่อไดรฟ์เครือข่ายทั้งหมดได้ (Could not Reconnect All Network Drives)](https://th.wsxdn.com/UploadFiles_2907/202204/2022041112153016.png)
- ภายใต้ Network ตรวจสอบให้แน่ใจว่า Start only if the following network connection is available option ถูกติ๊ก
- จากเมนูแบบเลื่อนลง เลือก Any connection แล้วคลิก OK
วิธีที่ 4: ติดตั้งอัปเดต KB4469342
อีกวิธีหนึ่งในการแก้ไขข้อผิดพลาดคือการติดตั้งแพทช์ที่ Windows เปิดเผยออกมา ระบบของคุณอาจขาดอัปเดตดังกล่าวซึ่งก่อให้เกิดปัญหา วิธีติดตั้งอัปเดต:
- ไปที่ Windows Update Catalog
- ค้นหาอัปเดต KB4469342 แล้วดาวน์โหลดอัปเดตสำหรับระบบของคุณ
![[แก้ไข] ไม่สามารถเชื่อมต่อไดรฟ์เครือข่ายทั้งหมดได้ (Could not Reconnect All Network Drives)](https://th.wsxdn.com/UploadFiles_2907/202204/2022041112153171.png)
- เมื่อดาวน์โหลดเสร็จ ให้รันอัปเดตเพื่อติดตั้ง
- สุดท้าย รีบูทระบบเพื่อดูว่าปัญหาแก้ไขแล้วหรือยัง