เปลี่ยนรหัสผ่านผู้ใช้ในเซสชัน RDP บน Windows
ในบทความนี้ เราจะแสดงวิธีเปลี่ยนรหัสผ่านผู้ใช้ในเซสชัน 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
ใน Windows เวอร์ชันปัจจุบัน คุณต้องใช้คีย์ผสม Ctrl + Alt + End เพื่อเปิดกล่องโต้ตอบความปลอดภัยของ Windows ในเซสชัน RDP ทางลัดจะเหมือนกับ Ctrl + Alt + Delete แต่ใช้งานได้ในหน้าต่าง RDP เท่านั้น เลือก เปลี่ยนรหัสผ่านในเมนู
ตอนนี้คุณสามารถเปลี่ยนรหัสผ่านในกล่องโต้ตอบมาตรฐาน (ป้อนรหัสผ่านปัจจุบันและตั้งรหัสผ่านใหม่สองครั้ง)
การเปลี่ยนรหัสผ่านโดยใช้แป้นพิมพ์บนหน้าจอ
หากคุณเชื่อมต่อกับเดสก์ท็อประยะไกลของโฮสต์ Windows ผ่านห่วงโซ่ของเซสชัน RDP คุณจะไม่สามารถใช้ CTRL+ALT+END เพื่อเปลี่ยนรหัสผ่านผู้ใช้ได้ หน้าต่าง RDP แรกจะสกัดกั้นแป้นพิมพ์ลัด ในกรณีเหล่านี้ คุณสามารถใช้ Windows On-Screen Keyboard ในตัวเพื่อเปลี่ยนรหัสผ่านของผู้ใช้ได้
เรียกใช้แป้นพิมพ์บนหน้าจอในเซสชัน 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 หรือทางลัดของเชลล์
ตัวอย่างเช่น สร้างไฟล์ข้อความ 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 ของคุณผ่านโฮสต์ที่มีบทบาท Remote Desktop Web Access (RDWA) คุณสามารถอนุญาตให้เปลี่ยนรหัสผ่านที่หมดอายุในหน้าเข้าสู่ระบบ RDWA (มีรายละเอียดอธิบายไว้ที่นี่)< br />
CredSSP NLA และการเปลี่ยนรหัสผ่านใน RDP
มีคุณสมบัติที่สำคัญในการเปลี่ยนรหัสผ่านผู้ใช้ที่หมดอายุใน RDP ที่เกี่ยวข้องกับโปรโตคอล Network Level Authentication (NLA) และ Credential Security Support Provider (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 (หากมีการเข้าถึงเครือข่ายไปยังตัวควบคุมโดเมน)











