ในบทความนี้ เราจะแสดงวิธีเปลี่ยนรหัสผ่านผู้ใช้ในเซสชัน RDP บนคอมพิวเตอร์ Windows ระยะไกล ในฐานะโฮสต์ระยะไกล คุณอาจมี Windows Server ที่มีบทบาทบริการเดสก์ท็อประยะไกล (RDSH) ที่กำหนดค่าไว้ หรืออนุญาตให้ใช้เวิร์กสเตชัน Windows 10 ที่มีการเชื่อมต่อ RDP อย่างน้อยหนึ่งรายการ
ปัญหาหลักที่ผู้ใช้พบคือ คุณไม่สามารถเปิดกล่องโต้ตอบการเปลี่ยนรหัสผ่านมาตรฐานโดยใช้ Ctrl + Alt + Delete คีย์ผสมในเซสชันเดสก์ท็อประยะไกล (RDP) ทางลัดนี้จะไม่ส่งผ่านไปยังเซสชัน RDP เนื่องจากทำงานบนระบบปฏิบัติการในพื้นที่ของคุณ
ใน Windows Server 2003/2008 คุณสามารถเปลี่ยนรหัสผ่านผู้ใช้ใน RDP ได้โดยคลิกปุ่มเริ่มและเลือก ความปลอดภัยของ Windows -> เปลี่ยนรหัสผ่าน .
ในเวอร์ชันที่ใหม่กว่า รวมถึง Windows Server 2016/2019/2022 และ Windows 10/11 จะไม่มีรายการความปลอดภัยของ Windows ในเมนูเริ่ม ดังนั้นจึงใช้วิธีนี้ในการเปลี่ยนรหัสผ่านของผู้ใช้ไม่ได้
สารบัญ:
- เปลี่ยนรหัสผ่านผู้ใช้ใน RDP ด้วย CTRL + ALT + END
- การเปลี่ยนรหัสผ่านโดยใช้แป้นพิมพ์บนหน้าจอ
- สคริปต์ VBS/PowerShell เพื่อเปลี่ยนรหัสผ่านในเซสชัน RDP
- การเปลี่ยนรหัสผ่านผ่าน Remote Desktop Web Access (RDWEB)
- CredSSP NLA &การเปลี่ยนรหัสผ่านใน RDP
เปลี่ยนรหัสผ่านผู้ใช้ใน RDP ด้วย CTRL + ALT + END
ใน Windows เวอร์ชันปัจจุบัน คุณต้องใช้ Ctrl + Alt + End คีย์ผสมเพื่อเปิดกล่องโต้ตอบความปลอดภัยของ Windows ในเซสชัน RDP ทางลัดจะเหมือนกับ Ctrl + Alt + Delete แต่ใช้งานได้ในหน้าต่าง RDP เท่านั้น เลือก เปลี่ยนรหัสผ่าน ในเมนู
ตอนนี้คุณสามารถเปลี่ยนรหัสผ่านของคุณในกล่องโต้ตอบมาตรฐาน (ป้อนรหัสผ่านปัจจุบันของคุณและตั้งรหัสผ่านใหม่สองครั้ง)
การเปลี่ยนรหัสผ่านโดยใช้แป้นพิมพ์บนหน้าจอ
หากคุณเชื่อมต่อกับเดสก์ท็อประยะไกลของโฮสต์ Windows ผ่านเซสชัน RDP คุณจะไม่สามารถใช้ CTRL+ALT+END เพื่อเปลี่ยนรหัสผ่านของผู้ใช้ได้ หน้าต่าง RDP แรกจะสกัดกั้นแป้นพิมพ์ลัด ในกรณีเหล่านี้ คุณสามารถใช้แป้นพิมพ์บนหน้าจอ Windows ในตัวเพื่อเปลี่ยนรหัสผ่านของผู้ใช้ได้
- เรียกใช้แป้นพิมพ์บนหน้าจอในเซสชัน RDP เป้าหมาย (ทำได้ง่ายกว่าโดยพิมพ์
osk.exe
ในเมนูเริ่ม); - คุณจะเห็นแป้นพิมพ์บนหน้าจอ
- กด
CTRL+ALT
บนแป้นพิมพ์จริง (ในเครื่อง) ของคุณ (ควรแสดงบนหน้าจอ) จากนั้นคลิกDel
ปุ่มบนแป้นพิมพ์บนหน้าจอ - ดังนั้น การกดแป้น Ctrl+Alt+Del จะถูกส่งไปยังเซสชัน RDP ระยะไกล และกล่องโต้ตอบความปลอดภัยของ Windows มาตรฐานจะปรากฏขึ้นซึ่งคุณสามารถเปลี่ยนรหัสผ่านได้
หากรหัสผ่านใหม่ของคุณไม่ตรงตาม คุณจะเห็นข้อความด้านล่าง:
Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the domain.
โปรดทราบว่าหาก อายุรหัสผ่านขั้นต่ำ ได้รับการกำหนดค่าในนโยบายโดเมน (หรือในนโยบายรหัสผ่านแบบละเอียด – PSO) ซึ่งอาจป้องกันไม่ให้ผู้ใช้เปลี่ยนรหัสผ่านบ่อยกว่าที่ระบุไว้ในการตั้งค่า GPO
คุณสามารถดูได้เมื่อรหัสผ่านของผู้ใช้ หมดอายุโดยใช้ PowerShell:
Get-ADUser -Identity jsmith -Properties msDS-UserPasswordExpiryTimeComputed | select-object @{Name="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed") }}
สคริปต์ VBS/PowerShell เพื่อเปลี่ยนรหัสผ่านในเซสชัน RDP
คุณสามารถเรียกกล่องโต้ตอบความปลอดภัยของ Windows ในเซสชัน RDP โดยใช้เครื่องมือ Windows ในตัว:VBScript, PowerShell หรือทางลัดของ Shell
ตัวอย่างเช่น สร้าง WindowsSecurity.vbs ไฟล์ข้อความที่มีรหัส VBScript ต่อไปนี้บนเดสก์ท็อปของคุณ:
set objShell = CreateObject("shell.application")
objshell.WindowsSecurity
หากคุณดับเบิลคลิกที่ไฟล์ VBS คุณจะเห็นรูปแบบมาตรฐานสำหรับเปลี่ยนรหัสผ่านของคุณ
คุณสามารถวางไฟล์ VBS นี้บนเดสก์ท็อปที่ใช้ร่วมกันบนโฮสต์ RDS ของคุณ (%SystemDrive%\Users\Public\Desktop\
) หรือคัดลอกไฟล์ไปยังเดสก์ท็อปของผู้ใช้โดยใช้ GPO
ในทำนองเดียวกัน คุณสามารถเปิดหน้าต่างเปลี่ยนรหัสผ่านจาก PowerShell ได้ ใช้คำสั่งด้านล่าง:
New-Object -COM Shell.Application).WindowsSecurity()
มีตัวเลือกในการสร้างทางลัด Windows File Explorer ด้วยลิงก์ต่อไปนี้:
C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}
การเปลี่ยนรหัสผ่านผ่าน Remote Desktop Web Access (RDWEB)
หากคุณเข้าถึงเซิร์ฟเวอร์ RDP ของคุณผ่านโฮสต์ด้วย การเข้าถึงเว็บเดสก์ท็อประยะไกล บทบาท (RDWA) คุณสามารถอนุญาตให้เปลี่ยนรหัสผ่านที่หมดอายุแล้วในหน้าเข้าสู่ระบบ RDWA (อธิบายไว้โดยละเอียดที่นี่)
CredSSP NLA &การเปลี่ยนรหัสผ่านใน RDP
มีคุณลักษณะที่สำคัญในการเปลี่ยนรหัสผ่านผู้ใช้ที่หมดอายุใน RDP ที่เกี่ยวข้องกับ การตรวจสอบสิทธิ์ระดับเครือข่าย (NLA) และผู้ให้บริการสนับสนุนการรักษาความปลอดภัยข้อมูลประจำตัว (CredSSP) โปรโตคอล ตามค่าเริ่มต้น CredSSP ที่มี NLA สำหรับ RDP จะเปิดใช้งานบน Windows Server 2012/Windows 8 และใหม่กว่า NLA ปกป้องเซิร์ฟเวอร์ RDP โดยการตรวจสอบสิทธิ์ผู้ใช้ก่อนสร้างเซสชัน RDP กับโฮสต์
หากรหัสผ่านของผู้ใช้หมดอายุหรือผู้ดูแลระบบ AD ได้เปิดใช้งานตัวเลือก userAccountControl “ผู้ใช้ต้องเปลี่ยนรหัสผ่านเมื่อเข้าสู่ระบบครั้งถัดไป ” (โดยส่วนใหญ่จะเปิดใช้งานสำหรับบัญชี AD ใหม่) คุณจะเห็นข้อผิดพลาดต่อไปนี้เมื่อเข้าสู่ระบบโดยใช้ RDP:
Remote Desktop Connection You must change your password before logging on the first time. Please update your password or contact your system administrator or technical support.
ส่งผลให้ผู้ใช้ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ RDP และเปลี่ยนรหัสผ่านได้
ในกรณีนี้ หากต้องการให้ผู้ใช้ระยะไกลเปลี่ยนรหัสผ่านได้ คุณสามารถ:
- กำหนดค่าบทบาท RDWA ด้วยหน้าเปลี่ยนรหัสผ่านตามที่อธิบายไว้ข้างต้น
- ปิดใช้งาน NLA บนโฮสต์ RDP ของคุณ (ไม่แนะนำ!!! เนื่องจากจะลดระดับความปลอดภัยของการเชื่อมต่อ RDP ลงอย่างมาก) และใช้ .rdp ไฟล์ที่มีบรรทัด
enablecredsspsupport:i:0
สำหรับการเชื่อมต่อ - ใช้โฮสต์ RDP แยกต่างหากเพื่อเปลี่ยนรหัสผ่านของผู้ใช้ คุณไม่จำเป็นต้องติดตั้งบทบาทโฮสต์เซสชันเดสก์ท็อประยะไกลบนโฮสต์นี้หรือเพิ่มผู้ใช้ในกลุ่มผู้ใช้เดสก์ท็อประยะไกลภายในเครื่อง แต่คุณต้องปิดใช้งาน NLA จากนั้นผู้ใช้จะสามารถเปลี่ยนรหัสผ่านได้ แต่จะไม่สามารถเข้าสู่ระบบเซิร์ฟเวอร์ผ่าน RDP ได้
- ผู้ใช้สามารถเปลี่ยนรหัสผ่านจากระยะไกลโดยใช้ PowerShell (หากมีการเข้าถึงเครือข่ายไปยังตัวควบคุมโดเมน)