แก้ไข: ข้อมูลรับรอง RDP ที่บันทึกไว้ไม่ทำงานบน Windows
ไคลเอนต์ Windows Remote Desktop ในตัว (
mstsc.exe) ให้คุณบันทึกชื่อผู้ใช้และรหัสผ่านที่ใช้เชื่อมต่อกับคอมพิวเตอร์ระยะไกล ด้วยเหตุนี้ ผู้ใช้จึงไม่จำเป็นต้องป้อนรหัสผ่านทุกครั้งเพื่อเชื่อมต่อกับโฮสต์เดสก์ท็อประยะไกลที่รู้จัก ในบทความนี้ เราจะดูวิธีการอนุญาตให้ใช้ข้อมูลประจำตัวที่บันทึกไว้สำหรับการเชื่อมต่อ RDP ใน Windows และจะทำอย่างไรหากผู้ใช้ไม่สามารถใช้รหัสผ่านที่บันทึกไว้สำหรับการเชื่อมต่อเดสก์ท็อประยะไกล (รหัสผ่านจะถูกขอทุกครั้ง)
อนุญาตการมอบหมายข้อมูลรับรองที่บันทึกไว้สำหรับการเชื่อมต่อ RDP ผ่าน GPO
ตามค่าเริ่มต้น Windows อนุญาตให้ผู้ใช้บันทึกรหัสผ่านสำหรับการเชื่อมต่อ RDP ในการดำเนินการนี้ ผู้ใช้ต้องป้อนชื่อคอมพิวเตอร์ RDP ชื่อผู้ใช้ และทำเครื่องหมายที่ช่อง “อนุญาตให้ฉันบันทึกข้อมูลรับรอง ” ในหน้าต่างไคลเอนต์ Remote Desktop Connection (mstsc.exe) หลังจากที่ผู้ใช้คลิกปุ่ม “เชื่อมต่อ” แล้ว เซิร์ฟเวอร์ RDP จะขอรหัสผ่านและ Windows จะบันทึกรหัสผ่านนั้นไปยัง Credential Manager (ไม่ใช่ไฟล์ .RDP)
ครั้งต่อไปที่คุณเชื่อมต่อกับโฮสต์ RDP ระยะไกลภายใต้ผู้ใช้คนเดียวกัน ไคลเอนต์จะได้รับรหัสผ่านที่บันทึกไว้โดยอัตโนมัติจาก Windows Credential Manager และใช้สำหรับการตรวจสอบสิทธิ์ RDP
หากมีรหัสผ่านที่บันทึกไว้สำหรับคอมพิวเตอร์เครื่องนี้ ข้อความต่อไปนี้จะปรากฏในหน้าต่างไคลเอนต์ RDP:
Saved credentials will be used to connect to this computer. You can edit or delete these credentials.ในกรณีส่วนใหญ่ ผู้ดูแลระบบไม่แนะนำให้ผู้ใช้บันทึกรหัสผ่านการเชื่อมต่อใน Windows ตัวอย่างเช่น ในโดเมน Active Directory ควรกำหนดค่า SSO (Single Sign-On) สำหรับ RDP สำหรับการรับรองความถูกต้องแบบโปร่งใส
ตามค่าเริ่มต้น Windows ไม่อนุญาตให้ผู้ใช้ใช้รหัสผ่าน RDP (ข้อมูลประจำตัว) ที่บันทึกไว้เพื่อเชื่อมต่อจากคอมพิวเตอร์ที่เข้าร่วมกับโดเมน Active Directory ไปยังโฮสต์ที่อยู่ในโดเมนหรือเวิร์กกรุ๊ปอื่น แม้ว่ารหัสผ่านการเชื่อมต่อจะถูกเก็บไว้ใน Credentials Manager แต่ Windows ไม่อนุญาตให้ใช้และกำหนดให้ผู้ใช้ป้อนรหัสผ่านทุกครั้ง นอกจากนี้ Windows ยังป้องกันไม่ให้คุณใช้รหัสผ่าน RDP ที่บันทึกไว้ หากคุณเชื่อมต่อกับบัญชีภายในเครื่องแทนโดเมนของคุณ
ในกรณีนี้ หากคุณพยายามเชื่อมต่อโดยใช้รหัสผ่าน RDP ที่บันทึกไว้ ข้อความแสดงข้อผิดพลาดนี้จะปรากฏขึ้น:
Your credentials did not work
Your system administrator does not allow the use of saved credentials to log on to the remote computer CompName because its identity is not fully verified. Please enter new credentials.
Windows ถือว่าการเชื่อมต่อไม่ปลอดภัยเนื่องจากไม่มีความเชื่อถือระหว่างคอมพิวเตอร์เครื่องนี้กับคอมพิวเตอร์ระยะไกลในโดเมนอื่น (หรือเวิร์กกรุ๊ป)
คุณสามารถเปลี่ยนการตั้งค่าเหล่านี้บนคอมพิวเตอร์ที่คุณกำลังพยายามสร้างการเชื่อมต่อ RDP จาก:
เปิดตัวแก้ไขนโยบายกลุ่มภายในโดยกด
Win + R-> gpedit.msc;
ในตัวแก้ไข GPO ให้ไปที่ การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> ระบบ -> การมอบสิทธิ์ข้อมูลรับรอง ค้นหานโยบายชื่อ อนุญาตการมอบหมายข้อมูลรับรองที่บันทึกไว้ด้วยการรับรองความถูกต้องของเซิร์ฟเวอร์ NTLM เท่านั้น
เปิดใช้งานนโยบายและคลิก แสดง
ระบุรายการของรีโมตโฮสต์ที่ได้รับอนุญาตให้ใช้ข้อมูลประจำตัวที่บันทึกไว้เมื่อเข้าถึงผ่าน RDP ต้องระบุรายการคอมพิวเตอร์ระยะไกลในรูปแบบต่อไปนี้:
TERMSRV/server1— อนุญาตให้ใช้ข้อมูลประจำตัวที่บันทึกไว้เพื่อเข้าถึงคอมพิวเตอร์/เซิร์ฟเวอร์เฉพาะผ่าน RDP
TERMSRV/*.a-d.site— อนุญาตให้สร้างการเชื่อมต่อ RDP ด้วยข้อมูลรับรองที่บันทึกไว้กับคอมพิวเตอร์ทุกเครื่องในโดเมน a-d.site
TERMSRV/*— อนุญาตให้ใช้รหัสผ่านที่บันทึกไว้เพื่อเชื่อมต่อกับคอมพิวเตอร์ระยะไกล
เคล็ดลับ อย่าลืมพิมพ์TERMSRVคำหลักเป็นตัวพิมพ์ใหญ่ ชื่อคอมพิวเตอร์ต้องตรงกับชื่อที่คุณระบุไว้ในฟิลด์การเชื่อมต่อไคลเอ็นต์ RDP
-
ในทำนองเดียวกัน เปิดใช้งานและเพิ่มค่า TERMSRV/ ของคุณในนโยบาย อนุญาตการมอบสิทธิ์การยืนยันที่บันทึกไว้;
การตั้งค่ารีจิสทรีต่อไปนี้สอดคล้องกับตัวเลือก GPO ด้านบน:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation] "AllowSavedCredentialsWhenNTLMOnly"=dword:00000001 “AllowSavedCredentials”=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly] "1"="TERMSRV/*" [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials] "1"="TERMSRV/*" [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation] “AllowSavedCredentialsWhenNTLMOnly”=dword:00000001 “AllowSavedCredentials”=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly] "1"="TERMSRV/*" [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials] "1"="TERMSRV/*" ตรวจสอบว่าตัวเลือกต่อไปนี้ถูกปิดใช้งาน การเข้าถึงเครือข่าย: ไม่อนุญาตให้จัดเก็บรหัสผ่านและข้อมูลรับรองสำหรับการตรวจสอบเครือข่าย (การกำหนดค่าคอมพิวเตอร์ -> การตั้งค่า Windows -> การตั้งค่าความปลอดภัย -> นโยบายท้องถิ่น -> ตัวเลือกความปลอดภัย) หากเปิดใช้งานการตั้งค่านี้ ผู้ใช้จะได้รับข้อผิดพลาดเมื่อพยายามบันทึกรหัสผ่านไปยัง Credential Manager vault:
Credential Manager Error Unable to save credentials. To save credentials in this vault, check your computer configuration. Error code: 0x80070520 Error Message: A specified logon session does not exist. It may already have been terminated.ตรวจสอบว่านโยบาย ปฏิเสธการมอบสิทธิ์ที่บันทึกไว้ถูกปิดใช้งาน (หรือไม่ได้กำหนดค่า) ปฏิเสธนโยบาย GPO มีความสำคัญเหนือนโยบายที่อนุญาต
บันทึกการเปลี่ยนแปลงและอัปเดตการตั้งค่า GPO โดยใช้คำสั่งนี้:
gpupdate /force
ตอนนี้ เมื่อเชื่อมต่อกับโฮสต์ RDP ไคลเอ็นต์ mstsc จะสามารถใช้ข้อมูลประจำตัวที่คุณบันทึกไว้ได้
คุณสามารถแสดงรายการรหัสผ่านที่บันทึกไว้สำหรับการเชื่อมต่อ RDP ด้วยคำสั่ง:
cmdkey /list ^| findstr "target=TERMSRV"หากต้องการล้างรหัสผ่านการเชื่อมต่อที่บันทึกไว้ ให้รันคำสั่ง:
For /F "tokens=1,2 delims= " %G in ('cmdkey /list ^| findstr "target=TERMSRV"') do cmdkey /delete %Hคุณสามารถเปลี่ยนนโยบายข้อมูลประจำตัวที่บันทึกไว้ของ RDP ได้เฉพาะในเครื่องคอมพิวเตอร์ที่ใช้ Local Group Policy Editor หากคุณต้องการใช้การตั้งค่าเหล่านี้กับคอมพิวเตอร์หลายเครื่องในโดเมน ให้ใช้ GPO ของโดเมนที่กำหนดค่าโดยใช้
gpmc.msc(การจัดการนโยบายกลุ่ม) คอนโซล
เหตุใด Windows จึงไม่บันทึกข้อมูลรับรองเดสก์ท็อประยะไกล
หากคุณกำหนดค่า Windows ตามคำแนะนำข้างต้น แต่ไคลเอนต์ RDP ของคุณยังคงแจ้งให้คุณป้อนรหัสผ่านทุกครั้งที่คุณพยายามเชื่อมต่อ คุณควรตรวจสอบสิ่งต่อไปนี้:
คลิก “แสดงตัวเลือก ” ในหน้าต่างการเชื่อมต่อเดสก์ท็อประยะไกล และตรวจสอบให้แน่ใจว่าไม่ได้เลือกตัวเลือก “ขอข้อมูลรับรองเสมอ ”
หากคุณใช้ไฟล์ .RDP สำหรับการเชื่อมต่อ ตรวจสอบให้แน่ใจว่าค่าของพารามิเตอร์ 'prompt for credentials' คือ 0 (
prompt for credentials:i:0);
เปิดตัวแก้ไขวัตถุนโยบายกลุ่มท้องถิ่น (
gpedit.msc) และไปที่ Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client ตัวเลือก ไม่อนุญาตให้บันทึกรหัสผ่าน และ แจ้งข้อมูลประจำตัวบนคอมพิวเตอร์ไคลเอ็นต์" จะต้องไม่ถูกตั้งค่าหรือปิดใช้งาน นอกจากนี้ ตรวจสอบให้แน่ใจว่าการตั้งค่านโยบายนี้ถูกปิดใช้งานใน Group Policy ที่เป็นผลลัพธ์ในคอมพิวเตอร์ของคุณ (คุณสามารถสร้างรายงาน HTML ด้วยการตั้งค่า GPO ที่ใช้โดยใช้คำสั่ง gpresult)
ลบรหัสผ่านที่บันทึกไว้ทั้งหมดออกจาก Windows Credential Manager พิมพ์
control userpasswords2และในหน้าต่าง บัญชีผู้ใช้ ให้ไปที่แท็บ ขั้นสูง แล้วคลิก จัดการรหัสผ่าน
ในหน้าต่างถัดไป เลือก ข้อมูลประจำตัวของ Windows ค้นหารหัสผ่าน RDP ที่บันทึกไว้ทั้งหมดและลบออก (เริ่มต้นด้วย
TERMRSV/…).
คุณจะไม่สามารถเข้าสู่ระบบด้วยข้อมูลรับรอง RDP ที่บันทึกไว้ หากเซิร์ฟเวอร์ระยะไกลไม่ได้รับการอัปเดตเป็นเวลานาน และเมื่อพยายามเชื่อมต่อกับเซิร์ฟเวอร์ ข้อผิดพลาดในการแก้ไข Oracle การเข้ารหัส CredSSP จะปรากฏขึ้น
หลังจากนั้น ผู้ใช้จะสามารถใช้รหัสผ่านที่บันทึกไว้สำหรับการเชื่อมต่อ RDP
นโยบายการรับรองความถูกต้องของเซิร์ฟเวอร์ไม่อนุญาตให้เชื่อมต่อกับข้อมูลประจำตัวที่บันทึกไว้
เมื่อเชื่อมต่อกับโฮสต์ RDP หรือฟาร์ม RDS โดยใช้ข้อมูลประจำตัวที่บันทึกไว้ ข้อผิดพลาดอาจปรากฏขึ้น:
Windows Security
Your credentials did not work
The server’s authentication policy does not allow connection requests using saved credentials. Please enter new credentials.ในกรณีนี้ คุณต้องปิดใช้งานตัวเลือก GPO “แจ้งรหัสผ่านเสมอเมื่อเชื่อมต่อ” บนเซิร์ฟเวอร์ระยะไกล (การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> ส่วนประกอบของ Windows -> บริการเดสก์ท็อประยะไกล -> เดสก์ท็อประยะไกล โฮสต์เซสชัน -> ความปลอดภัย)
หากเปิดใช้งานนโยบายนี้ โฮสต์ RDP จะแจ้งให้ลูกค้าป้อนรหัสผ่านเพื่อเชื่อมต่อเสมอ
คุณสามารถปิดใช้งานตัวเลือกนี้ผ่านรีจิสทรี:
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fPromptForPassword /t REG_DWORD /d 0 /fWindows Defender Credential Guard ไม่อนุญาตให้ใช้ข้อมูลประจำตัวที่บันทึกไว้
หลังจากอัปเดตเป็น Windows 11 22H2 ผู้ใช้เริ่มบ่นว่าตอนนี้พวกเขาไม่สามารถใช้รหัสผ่านที่บันทึกไว้สำหรับการเชื่อมต่อ RDP:
Windows Security: Your credentials did not work
Windows Defender Credential Guard does not allow using saved credentials. Please enter your credentials.Windows Defender Remote Credential Guard (ซึ่งปรากฏบน Windows 10 1607) ควรจะปกป้องข้อมูลประจำตัวของคุณสำหรับการเชื่อมต่อ RDP ตามค่าเริ่มต้น Windows 11/10 22H2 จะอนุญาตให้ใช้ข้อมูลรับรองที่บันทึกไว้เมื่อใช้การรับรองความถูกต้อง Kerberos บนโฮสต์ RDP เท่านั้น หากคุณไม่สามารถใช้ Kerberos (ไม่มีตัวควบคุมโดเมน หรือคุณกำลังเชื่อมต่อกับโฮสต์ในเวิร์กกรุ๊ป) Remote Credential Guard จะบล็อกการตรวจสอบสิทธิ์ NTLM
คุณสามารถแก้ปัญหานี้ได้โดยปิดการใช้งาน Credential Guard ผ่านรีจิสทรี:
New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\LSA" -Name "LsaCfgFlags" -PropertyType "DWORD" -Value 0 -Force














