ค้นหาเว็บไซต์

ไม่สามารถเข้าถึงโฟลเดอร์ที่ใช้ร่วมกันหรือแมปไดรฟ์เครือข่ายจาก Windows 10 และ 11


หากคุณไม่สามารถเปิดหรือแมปโฟลเดอร์ที่ใช้ร่วมกันบนเครือข่ายบน NAS, เซิร์ฟเวอร์ Samba Linux, คอมพิวเตอร์ที่มี Windows เวอร์ชันเก่า (Windows 7/XP/Server 2003) จาก Windows 10 หรือ 11 ปัญหาที่เป็นไปได้มากที่สุดคือ SMB เวอร์ชันดั้งเดิมและไม่ปลอดภัย โปรโตคอลถูกปิดใช้งานใน Windows รุ่นปัจจุบัน (โปรโตคอล SMB ใช้ใน Windows เพื่อเข้าถึงโฟลเดอร์และไฟล์เครือข่ายที่ใช้ร่วมกัน)

Microsoft กำลังปิดใช้งานโปรโตคอล SMB รุ่นเก่าและไม่ปลอดภัยอย่างเป็นระบบใน Windows รุ่นล่าสุดทั้งหมด ตั้งแต่ Windows 10 1709 และ Windows Server 2019 (ทั้งใน Datacenter และรุ่นมาตรฐาน) โปรโตคอล SMBv1 ที่ไม่ปลอดภัยจะถูกปิดใช้งานตามค่าเริ่มต้น เช่นเดียวกับการเข้าถึงแบบไม่ระบุชื่อ (ผู้เยี่ยมชม) ไปยังโฟลเดอร์แชร์บนเครือข่าย

ขั้นตอนเฉพาะที่ต้องดำเนินการขึ้นอยู่กับข้อผิดพลาดที่ปรากฏใน Windows เมื่อเข้าถึงโฟลเดอร์ที่ใช้ร่วมกัน และขึ้นอยู่กับการตั้งค่าของเซิร์ฟเวอร์ SMB ระยะไกลที่โฮสต์เครือข่ายที่ใช้ร่วมกัน

ไม่สามารถเข้าถึงโฟลเดอร์ที่ใช้ร่วมกันได้เนื่องจากนโยบายความปลอดภัยบล็อกการเข้าถึงของแขกที่ไม่ได้รับอนุญาต

เริ่มต้นด้วย Windows 10 build 1709 Fall Creators Update (รุ่น Enterprise และ Education) ผู้ใช้เริ่มบ่นว่าเมื่อพวกเขาพยายามเปิดโฟลเดอร์ที่ใช้ร่วมกันบนเครือข่ายบนคอมพิวเตอร์ข้างเคียง เกิดข้อผิดพลาดขึ้น:

Restoring Network Connections
An error occurs when you try to open a network folder:
An error occurred while reconnecting Y: to \\nas1\share
Microsoft Windows Network: You can’t access this shared folder because your organization’s security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network.

ยิ่งไปกว่านั้น ในคอมพิวเตอร์เครื่องอื่นๆ ที่มี Windows 8.1, Windows 7 หรือ Windows 10 ที่มีบิลด์สูงสุด 1709 โฟลเดอร์เครือข่ายที่ใช้ร่วมกันเดียวกันจะเปิดขึ้นตามปกติ ประเด็นก็คือใน Windows 10 เวอร์ชันใหม่ (รุ่น 1709+) การเข้าถึงของแขกไปยังโฟลเดอร์ที่ใช้ร่วมกันโดยใช้โปรโตคอล SMBv2 จะถูกปิดใช้งานตามค่าเริ่มต้น แขก (ไม่ระบุชื่อ) หมายถึงการเข้าถึงโฟลเดอร์เครือข่ายที่ใช้ร่วมกันโดยไม่ต้องตรวจสอบสิทธิ์ เมื่อเข้าถึงโฟลเดอร์เครือข่ายภายใต้บัญชีผู้เยี่ยมชมผ่านโปรโตคอล SMBv1/v2 จะไม่ใช้วิธีการป้องกันการรับส่งข้อมูล เช่น การเซ็นชื่อและการเข้ารหัส SMB ซึ่งทำให้เซสชันของคุณเสี่ยงต่อการโจมตี MiTM (คนกลาง)

การเปลี่ยนแปลงเหล่านี้ไม่มีผลกับรุ่น Windows 10 Home และการเข้าถึงเครือข่ายภายใต้บัญชีผู้เยี่ยมชมก็ทำงานได้ดี

หากคุณพยายามเปิดโฟลเดอร์เครือข่ายที่ใช้ร่วมกันโดยใช้โปรโตคอล SMB v2 ภายใต้บัญชีผู้เยี่ยมชม ข้อผิดพลาดต่อไปนี้จะปรากฏใน Event Viewer ของคอมพิวเตอร์ของคุณ (ไคลเอ็นต์ SMB):

Log Name: Microsoft-Windows-SmbClient/Security  
Source: Microsoft-Windows-SMBClient
Event ID: 31017
Rejected an insecure guest logon.

ข้อผิดพลาดนี้ระบุว่าคอมพิวเตอร์ของคุณ (ไคลเอ็นต์) บล็อกการเข้าถึงที่ไม่ได้ตรวจสอบสิทธิ์ภายใต้บัญชี Guest

ในกรณีส่วนใหญ่ คุณอาจประสบปัญหานี้เมื่อเข้าถึงอุปกรณ์ NAS เก่า (โดยปกติแล้วการเข้าถึงแบบผู้เยี่ยมชมจะถูกเปิดใช้งานเพื่อความสะดวกในการตั้งค่า) หรือเมื่อเปิดโฟลเดอร์ที่ใช้ร่วมกันบนอุปกรณ์ Windows 7/2008 R2/Windows XP/2003 รุ่นเก่าที่ไม่ระบุชื่อ (ผู้เยี่ยมชม) เปิดใช้งานการเข้าถึง (ดูตารางเวอร์ชันโปรโตคอล SMB ที่รองรับใน Windows รุ่นต่างๆ)

Microsoft แนะนำให้เปลี่ยนการตั้งค่าบนคอมพิวเตอร์ระยะไกลหรืออุปกรณ์ NAS ที่โฮสต์โฟลเดอร์เครือข่ายที่ใช้ร่วมกัน ขอแนะนำให้เปลี่ยนการแชร์เครือข่ายเป็นโหมด SMBv3 หรือกำหนดค่าการเข้าถึงด้วยการรับรองความถูกต้องหากอุปกรณ์รองรับเฉพาะโปรโตคอล SMBv2 นี่เป็นวิธีที่ถูกต้องและปลอดภัยที่สุดในการแก้ไขปัญหา

ปิดการเข้าถึงของแขกบนอุปกรณ์ที่เก็บโฟลเดอร์ที่ใช้ร่วมกันของคุณ:

  • อุปกรณ์ NAS - ปิดการเข้าถึงของแขกในการตั้งค่าอุปกรณ์ NAS ของคุณ (ขึ้นอยู่กับผู้จำหน่ายและรุ่น)

  • เซิร์ฟเวอร์ Samba บน Linux — หากคุณแชร์โฟลเดอร์เครือข่ายกับ Samba บน Linux ให้เพิ่มสตริงต่อไปนี้ในไฟล์การกำหนดค่า smb.conf ภายใต้ส่วน [สากล]:

    map to guest = never

    และจำกัดการเข้าถึงแบบไม่ระบุชื่อในส่วนการกำหนดค่าโฟลเดอร์ที่ใช้ร่วมกัน:

     guest ok = no
  • ใน Windows คุณสามารถเปิดใช้งานการแบ่งปันโฟลเดอร์เครือข่ายและเครื่องพิมพ์ที่มีการป้องกันด้วยรหัสผ่านผ่านแผงควบคุม -> ศูนย์เครือข่ายและการใช้ร่วมกัน -> การตั้งค่าการแบ่งปันขั้นสูง สำหรับเครือข่ายทั้งหมดในส่วน “การแบ่งปันที่ป้องกันด้วยรหัสผ่าน ” ให้เปลี่ยนค่าเป็น “เปิดการแบ่งปันที่ป้องกันด้วยรหัสผ่าน ” ในกรณีนี้ การเข้าถึงโฟลเดอร์แชร์บนเครือข่ายแบบไม่ระบุชื่อ (ผู้เยี่ยมชม) จะถูกปิดใช้งาน และคุณจะต้องสร้างผู้ใช้ภายในเครื่อง ให้สิทธิ์การเข้าถึงโฟลเดอร์และเครื่องพิมพ์ที่ใช้ร่วมกันแก่พวกเขา และใช้บัญชีเหล่านี้เพื่อเชื่อมต่อกับโฟลเดอร์ที่ใช้ร่วมกันบนคอมพิวเตอร์ระยะไกล .

มีวิธีอื่น - คุณสามารถเปลี่ยนการตั้งค่าบนอุปกรณ์ Windows ของคุณเพื่ออนุญาตการเข้าถึงโฟลเดอร์เครือข่ายที่ใช้ร่วมกันภายใต้บัญชีผู้เยี่ยมชม วิธีนี้ควรใช้เป็น วิธีแก้ปัญหาชั่วคราวเท่านั้น (!!!) เนื่องจากการเข้าถึงโฟลเดอร์โดยไม่มีการตรวจสอบสิทธิ์จะลดความปลอดภัยของคอมพิวเตอร์ลงอย่างมาก

ในการเปิดใช้งานการเข้าถึงแบบผู้เยี่ยมชมจากคอมพิวเตอร์ของคุณ คุณต้องใช้ตัวแก้ไขนโยบายกลุ่ม (

gpedit.msc

). ไปที่ส่วน: การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> เครือข่าย -> Lanman Workstation ค้นหาและเปิดใช้งานนโยบาย เปิดใช้งานการเข้าสู่ระบบของผู้เยี่ยมชมที่ไม่ปลอดภัย ตัวเลือกนโยบายนี้กำหนดว่าไคลเอนต์ SMB จะอนุญาตให้เข้าสู่ระบบของแขกที่ไม่ปลอดภัยในเซิร์ฟเวอร์ SMB หรือไม่

อัปเดตการตั้งค่า Group Policy ใน Windows ด้วยคำสั่ง:

gpupdate /force

ใน Windows 10 Home ซึ่งไม่มีตัวแก้ไข GPO ในเครื่อง คุณสามารถทำการเปลี่ยนแปลงที่คล้ายกันผ่าน Registry Editor ได้ด้วยตนเอง:

HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters “AllowInsecureGuestAuth”=dword:1

หรือด้วยคำสั่งเหล่านี้:

reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
reg add HKLM\Software\Policies\Microsoft\Windows\LanmanWorkstation /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f

ไม่สามารถเชื่อมต่อกับการแชร์ไฟล์ได้เนื่องจากไม่ปลอดภัยและต้องใช้โปรโตคอล SMB1 ที่ล้าสมัย

ปัญหาที่เป็นไปได้อีกประการหนึ่งเมื่อเข้าถึงโฟลเดอร์เครือข่ายจาก Windows 10 คือรองรับเฉพาะเวอร์ชันโปรโตคอล SMBv1 ทางฝั่งเซิร์ฟเวอร์ เนื่องจากไคลเอนต์ SMBv1 ถูกปิดใช้งานตามค่าเริ่มต้นใน Windows 10 1709+ เมื่อคุณพยายามเปิดโฟลเดอร์ที่ใช้ร่วมกันหรือแมปไดรฟ์เครือข่าย คุณอาจได้รับข้อผิดพลาด:

You can’t connect to the file share because it’s not secure. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack. Your system requires SMB2 or higher.

ในกรณีนี้ คอมพิวเตอร์ที่อยู่ใกล้เคียงอาจไม่แสดงบนเครือข่ายท้องถิ่น และเมื่อเปิดโฟลเดอร์ที่ใช้ร่วมกันโดยเส้นทาง UNC ข้อผิดพลาด 0x80070035 อาจปรากฏขึ้น

ข้อความแสดงข้อผิดพลาดแสดงอย่างชัดเจนว่าโฟลเดอร์ที่ใช้ร่วมกันบนเครือข่ายรองรับโปรโตคอลการเข้าถึงไคลเอ็นต์ SMBv1 เท่านั้น ในกรณีนี้ คุณควรลองกำหนดค่าอุปกรณ์ SMB ระยะไกลใหม่เพื่อใช้ SMBv2 เป็นอย่างน้อย (วิธีที่ถูกต้องและปลอดภัย)

หากคุณใช้เซิร์ฟเวอร์ Samba บน Linux เพื่อแชร์ไฟล์ คุณสามารถระบุเวอร์ชันขั้นต่ำที่สนับสนุนของโปรโตคอล SMB ในไฟล์ smb.conf ดังนี้:

[global]
server min protocol = SMB2_10
client max protocol = SMB3
client min protocol = SMB2_10
encrypt passwords = true
restrict anonymous = 2

บน Windows 7/Windows Server 2008 R2 คุณสามารถปิดใช้งานโปรโตคอล SMB 1 และเปิดใช้งาน SMBv2 ผ่านรีจิสทรีด้วยคำสั่ง PowerShell ต่อไปนี้:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force

ใน Windows 8.1/Windows Server 2012 R2 คุณสามารถปิดใช้งาน SMBv1 อนุญาต SMBv2 และ SMBv3 ด้วยคำสั่งต่อไปนี้ (ตรวจสอบว่าใช้โปรไฟล์ส่วนตัวหรือโดเมนสำหรับการเชื่อมต่อเครือข่ายของคุณ):

Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
Set-SmbServerConfiguration -EnableSMB2Protocol $true

หากอุปกรณ์เครือข่ายของคุณ (NAS, Windows XP, Windows Server 2003) รองรับเฉพาะโปรโตคอล SMB1 คุณสามารถเปิดใช้งานคุณลักษณะ SMB1Protocol-Client แยกต่างหากบน Windows 10/11 หรือ Windows Server แต่ไม่แนะนำ!!!

หากอุปกรณ์ระยะไกลต้องการการเชื่อมต่อ SMBv1 และโปรโตคอลนี้ถูกปิดใช้งานบนอุปกรณ์ Windows ของคุณ ข้อผิดพลาดจะปรากฏขึ้นในตัวแสดงเหตุการณ์:

Log Name: Microsoft-Windows-SmbClient/Security
Source: Microsoft-Windows-SMBClient
Event ID: 32000
Description:  SMB1 negotiate response received from a remote device when SMB1 cannot be negotiated by the local computer.

เรียกใช้พรอมต์ PowerShell ที่ยกระดับ และตรวจสอบว่า SMB1Protocol-Client ถูกปิดใช้งาน (

State: Disabled

):

Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

เปิดใช้งานโปรโตคอลไคลเอนต์ SMBv1 (จำเป็นต้องรีบูต):

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

คุณยังสามารถเปิด/ปิดคุณสมบัติเพิ่มเติมใน Windows 10 และ 11 ได้จาก

optionalfeatures.exe

. ขยายการสนับสนุนการแชร์ไฟล์ SMB 1.0/CIFS และเปิดใช้งานไคลเอนต์ SMB 1.0/CIFS

ใน Windows 10 1809 และใหม่กว่า ไคลเอนต์ SMBv1 จะถูกลบโดยอัตโนมัติหากไม่มีการใช้งานนานกว่า 15 วัน (คอมโพเนนต์ SMB 1.0/CIFS Automatic Remove มีหน้าที่รับผิดชอบในเรื่องนี้)

ในตัวอย่างนี้ ฉันเปิดใช้งานเฉพาะไคลเอนต์ SMBv1 อย่าเปิดใช้งานคุณลักษณะ SMB1Protocol-Server ถ้าคอมพิวเตอร์ของคุณไม่ได้ใช้โดยไคลเอนต์รุ่นเก่าเป็นเซิร์ฟเวอร์ SMB เพื่อโฮสต์โฟลเดอร์ที่ใช้ร่วมกัน

หลังจากติดตั้งไคลเอ็นต์ SMBv1 แล้ว คุณควรจะสามารถเชื่อมต่อกับโฟลเดอร์หรือเครื่องพิมพ์ที่ใช้ร่วมกันได้โดยไม่มีปัญหาใดๆ อย่างไรก็ตาม คุณควรทำความเข้าใจว่าวิธีนี้ไม่แนะนำ เนื่องจากจะลดความปลอดภัยของคอมพิวเตอร์ของคุณ

Windows ไม่สามารถเข้าถึงโฟลเดอร์ที่ใช้ร่วมกัน: คุณไม่มีสิทธิ์

เมื่อเชื่อมต่อกับโฟลเดอร์เครือข่ายที่ใช้ร่วมกันบนคอมพิวเตอร์ระยะไกล ข้อผิดพลาดอาจปรากฏขึ้น:

Network Error
Windows cannot access \\PC12\Share
You do not have permission to access \\PC12\Share. Contact your network administrator to request access.

เมื่อเกิดข้อผิดพลาดนี้ คุณต้อง:

  1. ตรวจสอบให้แน่ใจว่าผู้ใช้ที่คุณใช้เพื่อเข้าถึงโฟลเดอร์ที่ใช้ร่วมกันนั้นได้รับสิทธิ์การเข้าถึงในการแชร์ระยะไกล เปิดคุณสมบัติของโฟลเดอร์ที่ใช้ร่วมกันบนเซิร์ฟเวอร์ และตรวจสอบให้แน่ใจว่าผู้ใช้ของคุณมีสิทธิ์ในการอ่านเป็นอย่างน้อย นอกจากนี้ คุณสามารถตรวจสอบสิทธิ์การแชร์ไฟล์ SMB บนโฮสต์ระยะไกลโดยใช้ PowerShell:

    Get-SmbShareAccess -Name "tools"

    จากนั้นตรวจสอบสิทธิ์ของโฟลเดอร์ NTFS:

    get-acl C:\tools\ |fl 

    หากจำเป็น ให้แก้ไขสิทธิ์ในโฟลเดอร์และ/หรือแบ่งปันคุณสมบัติ

  2. ตรวจสอบว่าคุณใช้ชื่อผู้ใช้และรหัสผ่านที่ถูกต้องเพื่อเข้าถึงโฟลเดอร์เครือข่าย หากคุณไม่ได้รับพร้อมท์ให้ใส่ชื่อผู้ใช้และรหัสผ่าน ให้ลองลบข้อมูลประจำตัวที่บันทึกไว้ (แคช) สำหรับการแบ่งปันระยะไกลใน Windows Credential Manager เรียกใช้คำสั่ง

    rundll32.exe keymgr.dll, KRShowKeyMgr

    และลบข้อมูลประจำตัวที่แคชไว้สำหรับคอมพิวเตอร์ระยะไกลที่คุณกำลังพยายามเข้าถึง

    ครั้งต่อไปที่คุณเชื่อมต่อกับโฟลเดอร์ที่ใช้ร่วมกัน คุณจะได้รับแจ้งให้ป้อนชื่อผู้ใช้และรหัสผ่าน ระบุข้อมูลประจำตัวเพื่อเข้าถึงโฟลเดอร์ที่ใช้ร่วมกันบนเครือข่ายบนคอมพิวเตอร์ระยะไกล คุณสามารถบันทึกไว้ใน Credential Manager หรือเพิ่มด้วยตนเอง

การแก้ไขอื่นๆ: Windows ไม่สามารถเข้าถึงโฟลเดอร์ที่ใช้ร่วมกันได้

ส่วนนี้มีวิธีเพิ่มเติมในการแก้ไขปัญหาการเปิดโฟลเดอร์เครือข่ายใน Windows:

  • ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ระยะไกลอนุญาตการเชื่อมต่อขาเข้าไปยังโฟลเดอร์เครือข่ายที่ใช้ร่วมกันโดยใช้โปรโตคอล SMB (พอร์ต TCP 445) คุณสามารถตรวจสอบความพร้อมใช้งานของพอร์ต 445 บนคอมพิวเตอร์ระยะไกลได้โดยใช้คำสั่ง Test-NetConnection:

    Test-NetConnection -ComputerName HomePC212 -Port 445

    หาก cmdlet ส่งกลับ

    TcpTestSucceeded : False

    ซึ่งหมายความว่าการเข้าถึงโฟลเดอร์เครือข่ายบนคอมพิวเตอร์ระยะไกลถูกบล็อกโดยไฟร์วอลล์ การเชื่อมต่ออาจถูกบล็อกโดยโปรแกรมป้องกันไวรัสหรือไฟร์วอลล์ (ไฟร์วอลล์ Windows Defender ของบุคคลที่สามหรือในตัว) หากคุณใช้ Windows Defender ให้เปิดใช้งานกฎการแชร์ไฟล์และเครื่องพิมพ์ (แผงควบคุม\ระบบและความปลอดภัย\Windows Defender ไฟร์วอลล์\Allowed apps\อนุญาตให้แอปสื่อสารผ่านไฟร์วอลล์ Windows ) บนโฮสต์แชร์ไฟล์สำหรับโปรไฟล์เครือข่ายทั้งสามโปรไฟล์

    หรือสร้างกฎไฟร์วอลล์ด้วย PowerShell:

    New-NetFirewallRule -DisplayName "Allow_SBM-FileSharing_In" -Direction Inbound -Protocol TCP -LocalPort 445 -Action Allow
  • หากคุณไม่สามารถเปิดไดรฟ์เครือข่ายที่แมป (โฟลเดอร์) ให้ลองลบข้อมูลรับรองแคชที่บันทึกไว้ใน Windows Credential Manager ลบไดรฟ์เครือข่ายที่แมป (ด้วย

    Net Use * /delete

    คำสั่ง) และเชื่อมต่อใหม่;

  • ลองใช้ที่อยู่ IP ของคอมพิวเตอร์ระยะไกลแทนชื่อเพื่อเข้าถึงโฟลเดอร์ ตัวอย่างเช่น:

    Win+R

    ->

    \\192.168.12.20

    -> ตกลง

  • ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ของคุณเข้าร่วมเวิร์กกรุ๊ปเดียวกัน ชื่อของกลุ่มงานบนคอมพิวเตอร์สามารถพบได้โดยใช้ PowerShell:

    Get-WmiObject Win32_ComputerSystem).domain
  • รีเซ็ตการตั้งค่าสแต็ก TCP/IP และอัปเดตที่อยู่ IP บนคอมพิวเตอร์ของคุณ:

    netsh int ip reset
    netsh winsock reset
    ipconfig /flushdns
    ipconfig /release
    ipconfig /renew

บทความที่เกี่ยวข้อง