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

วิธีเปลี่ยนรหัสผ่านที่หมดอายุผ่าน Remote Desktop Web Access บน Windows Server


ในบทความนี้ เราจะแสดงวิธีที่ผู้ใช้ระยะไกลของคุณสามารถเปลี่ยนรหัสผ่านที่หมดอายุโดยใช้เว็บฟอร์มพิเศษบนเซิร์ฟเวอร์ Remote Desktop Services (RDS) ที่มีบทบาท RD Web Access บน Windows Server 2022/2019/2016/2012 R2< br />

เปลี่ยนรหัสผ่านที่หมดอายุจากเซสชันเดสก์ท็อประยะไกลไม่ได้

ใน Windows Server 2012 R2 และใหม่กว่า NLA (Network Level Authentication) จะเปิดใช้งานสำหรับการเชื่อมต่อเดสก์ท็อประยะไกลตามค่าเริ่มต้น NLA ป้องกันไม่ให้ผู้ใช้เชื่อมต่อกับโฮสต์ RDP/RDS หากรหัสผ่านหมดอายุหรือผู้ใช้เปิดใช้งานตัวเลือก “ผู้ใช้ต้องเปลี่ยนรหัสผ่านเมื่อเข้าสู่ระบบครั้งแรก” ในแอตทริบิวต์ผู้ใช้ useraccountcontrol คุณสามารถปิดใช้งาน NLA (ref1, ref2) ได้ แต่สิ่งนี้ไม่ดีในแง่ของความปลอดภัย เมื่อคุณพยายามเชื่อมต่อกับเซิร์ฟเวอร์ RDSH (โฮสต์เซสชันเดสก์ท็อประยะไกล) ภายใต้บัญชีผู้ใช้ที่มีรหัสผ่านหมดอายุ ข้อความแสดงข้อผิดพลาดต่อไปนี้ปรากฏขึ้น:

An authentication error has occurred.
The Local Security Authority cannot be contacted
Remote computer: lonSrvRDS1
This could be due to an expired password
Please update your password if it has expired.

เมื่อใช้ NLA ผู้ใช้ RDP ระยะไกลจะไม่สามารถเปลี่ยนรหัสผ่านที่หมดอายุได้ หากไม่มีวิธีอื่นในการเข้าถึงเครือข่ายองค์กรนอกเหนือจากโครงสร้างพื้นฐาน RDS แน่นอน คุณสามารถขอให้ผู้ใช้เปลี่ยนรหัสผ่านได้โดยตรงในเซสชัน RDP ล่วงหน้า หรือโดยการเปิดใช้งาน การเข้าสู่ระบบแบบโต้ตอบ: แจ้งให้ผู้ใช้เปลี่ยนรหัสผ่านก่อนหมดอายุ ตัวเลือก GPO โฮสต์ RDS (การกำหนดค่าคอมพิวเตอร์ -> Windows การตั้งค่า -> นโยบายท้องถิ่น -> ตัวเลือกความปลอดภัย) แต่ก็ไม่ได้ผลเสมอไปเนื่องจากผู้ใช้มักหลงลืม

ใน Windows 2012 R2 และใหม่กว่า ผู้ใช้ระยะไกลสามารถรีเซ็ตรหัสผ่านของตนเอง (รหัสผ่านปัจจุบันหรือรหัสผ่านที่หมดอายุ) ผ่านหน้าเว็บพิเศษบนเซิร์ฟเวอร์ที่มีบทบาท การเข้าถึงเว็บเดสก์ท็อประยะไกล ในการเปลี่ยนรหัสผ่าน ผู้ใช้ต้องตรวจสอบสิทธิ์ผ่านหน้าเว็บลงชื่อเข้าใช้ RDS-WebAccess และเปลี่ยนรหัสผ่านโดยใช้แบบฟอร์ม aspx พิเศษ

หมายเหตุ ใน Windows Server 2003 ผู้ใช้โดเมนสามารถเปลี่ยนรหัสผ่านที่หมดอายุได้โดยใช้เว็บแอปพลิเคชันขนาดเล็ก

IISADMPWD

(แม้ว่าจะไม่รองรับอย่างเป็นทางการ)

จะอนุญาตให้ผู้ใช้ระยะไกลรีเซ็ตรหัสผ่านที่หมดอายุบนโฮสต์ RDWeb Access ได้อย่างไร

ตัวเลือกการเปลี่ยนรหัสผ่านระยะไกลพร้อมใช้งานบนเซิร์ฟเวอร์ที่มีบทบาท Remote Desktop Web Access (RD Web Access) แต่คุณลักษณะนี้ถูกปิดใช้งานตามค่าเริ่มต้น

หากคุณปรับใช้ฟาร์มเซิร์ฟเวอร์ RDS คุณสามารถค้นหาเซิร์ฟเวอร์ที่มีบทบาท RDS-WEB-Access ติดตั้งโดยเชื่อมต่อการกำหนดค่าการปรับใช้บนโฮสต์ตัวแทนการเชื่อมต่อ RD:

Get-RDServer -ConnectionBroker rdcb1.a-d.site| where {$_.roles -eq "RDS-WEB-ACCESS"}

หากต้องการเปลี่ยนรหัสผ่าน ให้ใช้สคริปต์ในไฟล์ password.aspx ซึ่งอยู่ใน C:\Windows\Web\RDWeb\Pages n-US

หากคุณใช้ Windows Server เวอร์ชันแปลเป็นภาษาท้องถิ่น (ไม่มีชุดภาษา) เส้นทางไปยังไฟล์ password.aspx จะแตกต่างออกไปและมีลักษณะดังนี้:

  • C:\Windows\Web\RDWeb\Pages\fr-FR - สำหรับ Windows Server รุ่นภาษาฝรั่งเศส

  • C:\Windows\Web\RDWeb\Pages\de-DE - สำหรับฉบับภาษาเยอรมัน

หากต้องการเปิดใช้งานตัวเลือกการเปลี่ยนรหัสผ่าน คุณต้องเรียกใช้คอนโซล ตัวจัดการ IIS (

inetmgr

) บนเซิร์ฟเวอร์ที่มีบทบาท RD Web Access ที่กำหนดค่าไว้ ไปที่ [ชื่อเซิร์ฟเวอร์] -> เว็บไซต์ -> เว็บไซต์เริ่มต้น -> RDWeb -> หน้า และเปิดส่วน การตั้งค่าแอปพลิเคชัน

ในบานหน้าต่างด้านขวา ค้นหาพารามิเตอร์ PasswordChangeEnabled และเปลี่ยนค่าเป็น true

นอกจากนี้ คุณสามารถตั้งค่าพารามิเตอร์ PasswordChangeEnabled เป็น จริง ในไฟล์กำหนดค่า IIS C:\Windows\Web\RDWeb\Pages\Web.config

พารามิเตอร์ PasswordChangeEnabled ช่วยให้ผู้ใช้ Active Directory เปลี่ยนรหัสผ่านที่หมดอายุผ่านพอร์ทัล RD Web Access ตัวเลือกนี้ไม่อนุญาตให้เปลี่ยนรหัสผ่านของผู้ใช้ภายในบนโฮสต์ RDS ในสภาพแวดล้อมเวิร์กกรุ๊ป (ไม่มีโดเมน)

รีสตาร์ทเว็บเซิร์ฟเวอร์ IIS จากคอนโซลหรือใช้คำสั่ง:

iisreset 

หากต้องการตรวจสอบความพร้อมใช้งานของหน้าเปลี่ยนรหัสผ่าน ให้ไปที่หน้าเว็บต่อไปนี้:

https://lonSrvRDS1/RDWeb/Pages/en-US/password.aspx

RD Web Access ต้องติดตั้งใบรับรอง SSL ที่ถูกต้อง คุณสามารถใช้ใบรับรอง Let's Encrypt ฟรีใน IIS

ป้อนชื่อผู้ใช้ รหัสผ่านเก่า และรหัสผ่านใหม่สองครั้ง

หลังจากเปลี่ยนรหัสผ่านของผู้ใช้เรียบร้อยแล้ว ข้อความต่อไปนี้ควรปรากฏขึ้น:

Your password has been successfully changed.

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

Your new password does not meet the length, complexity, or history requirements of your domain. Try choosing a different new password.

คุณสามารถใช้วิธีเปลี่ยนรหัสผ่านนี้ได้บนเซิร์ฟเวอร์ Remote Desktop Web Access เฉพาะเมื่อเปิดใช้งาน การรับรองความถูกต้องของฟอร์ม บน IIS บนเซิร์ฟเวอร์ RDWA คุณจะไม่สามารถเปลี่ยนรหัสผ่านผ่านเว็บฟอร์มของ RD หากใช้วิธีการรับรองความถูกต้องของ Windows

คุณสามารถแสดงรายการและเปลี่ยนประเภทการรับรองความถูกต้องที่รองรับในคอนโซลตัวจัดการ IIS เลือกไซต์ -> เว็บไซต์เริ่มต้น -> RDWeb -> หน้าในบานหน้าต่างด้านขวา เลือก การรับรองความถูกต้องของฟอร์ม

ขณะนี้ เมื่อพยายามเชื่อมต่อกับเซิร์ฟเวอร์ RD Web Access ด้วยรหัสผ่านที่หมดอายุ ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าเว็บ password.aspx และเสนอให้เปลี่ยนรหัสผ่าน

เคล็ดลับ คุณสามารถเปลี่ยนรหัสผ่านที่หมดอายุบน Windows Server 2008 R2 ด้วย RD Web Access Role หลังจากติดตั้งการอัปเดตพิเศษ KB2648402

การเพิ่มลิงค์เปลี่ยนรหัสผ่านในแบบฟอร์มเข้าสู่ระบบการเข้าถึงเว็บ RD

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

แทรกลิงก์ไปยังไฟล์ password.aspx ในหน้าลงชื่อเข้าใช้ RDWeb (สร้างสำเนาสำรองของไฟล์ password.aspx ก่อนแก้ไข)

  1. บนเซิร์ฟเวอร์ RDWeb ให้ค้นหาและเปิดไฟล์ C:\Windows\Web\RDWeb\Pages n-US\login.aspx ในโปรแกรมแก้ไขข้อความใดก็ได้ (ฉันชอบ Notepad++)

  2. ไปที่บรรทัด 429 (ใน Windows Server 2022 จะอยู่ที่หลังบล็อก HTML ต่อไปนี้

    <tr id="trPasswordExpiredNoChange" <%=strErrorMessageRowStyle%> > … </tr>

    ) และวางรหัสต่อไปนี้:

  3. <!-- Begin: Add Change Password Link -->
    <tr>
    <td align="right"> <a href="password.aspx" title="Change AD User Password">Click here </a>to change your password.
    </td>
    </tr>
    <!-- End: Add Change Password Link -->

  4. บันทึกการเปลี่ยนแปลงในไฟล์ login.aspx รีสตาร์ทเว็บไซต์ IIS และตรวจสอบให้แน่ใจว่าลิงก์ไปยังหน้าเปลี่ยนรหัสผ่านปรากฏบนหน้าลงชื่อเข้าใช้ของเว็บเซิร์ฟเวอร์ RD

ขณะนี้ผู้ใช้ระยะไกลสามารถเปลี่ยนรหัสผ่านที่หมดอายุแล้วบนเซิร์ฟเวอร์ RDS ของคุณโดยไม่ต้องมีการแทรกแซงของผู้ดูแลระบบ โปรดทราบว่าหากคุณใช้โดเมน Cached Credentials เพื่อเข้าสู่ระบบเครื่องคอมพิวเตอร์ของคุณ ข้อมูลเหล่านั้นจะไม่ได้รับการอัปเดตหลังจากที่คุณเปลี่ยนรหัสผ่าน Active Directory ผ่าน RDWebAccess

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