Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Trong bài viết này, chúng tôi sẽ chỉ cách người dùng từ xa của bạn có thể thay đổi mật khẩu đã hết hạn bằng một form web đặc biệt trên máy chủ Remote Desktop Services (RDS) với vai trò RD Web Access trên Windows Server 2022/2019/2016/2012 R2.

Không thể thay đổi mật khẩu hết hạn từ phiên Remote Desktop

Trong Windows Server 2012 R2 và mới hơn, NLA (Network Level Authentication) được bật mặc định cho kết nối Remote Desktop. NLA ngăn người dùng kết nối đến máy chủ RDP/RDS nếu mật khẩu của họ đã hết hạn hoặc có tùy chọn "User must change password at first Logon" được bật trong thuộc tính useraccountcontrol. Bạn có thể tắt NLA (ref1, ref2), nhưng điều này không tốt về mặt bảo mật. Khi bạn cố gắng kết nối đến máy chủ RDSH (Remote Desktop Session Host) dưới tài khoản người dùng với mật khẩu hết hạn, thông báo lỗi sau xuất hiện:

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.

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Khi sử dụng NLA, người dùng RDP từ xa không thể thay đổi mật khẩu hết hạn của họ nếu họ không có cách khác để truy cập mạng doanh nghiệp ngoài cơ sở hạ tầng RDS. Chắc chắn, bạn có thể yêu cầu người dùng thay đổi mật khẩu trực tiếp trong phiên RDP trước đó, hoặc bằng cách bật tùy chọn GPO Interactive logon: Prompt user to change password before expiration trên máy chủ RDS (Computer Configuration -> Windows Settings -> Local Policies -> Security Options), nhưng nó không luôn hoạt động do sự quên thường见 của người dùng.

Trong Windows 2012 R2 và mới hơn, người dùng từ xa có thể tự đặt lại mật khẩu (mật khẩu hiện tại hoặc mật khẩu hết hạn) thông qua một trang web đặc biệt trên máy chủ với vai trò Remote Desktop Web Access. Để thay đổi mật khẩu, người dùng phải xác thực qua trang đăng nhập RDS-WebAccess và thay đổi mật khẩu bằng form aspx đặc biệt.

Lưu ý. Trong Windows Server 2003, người dùng domain có thể thay đổi mật khẩu hết hạn bằng ứng dụng web nhỏ IISADMPWD (dù không được hỗ trợ chính thức).

Cách cho phép người dùng từ xa đặt lại mật khẩu hết hạn trên máy chủ RDWeb Access?

Tùy chọn thay đổi mật khẩu từ xa có sẵn trên máy chủ với vai trò Remote Desktop Web Access (RD Web Access), nhưng tính năng này bị tắt mặc định.

Nếu bạn đã triển khai farm RDS, bạn có thể tìm máy chủ với vai trò RDS-WEB-Access được cài đặt bằng cách kết nối cấu hình triển khai trên máy chủ RD Connection Broker:

Get-RDServer -ConnectionBroker rdcb1.woshub.com | where {$_.roles -eq "RDS-WEB-ACCESS"}

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Để thay đổi mật khẩu, hãy sử dụng script trong file password.aspx nằm trong C:\Windows\Web\RDWeb\Pages\en-US.

Nếu bạn đang sử dụng phiên bản Windows Server bản địa hóa (không có language pack), đường dẫn đến file password.aspx sẽ khác và trông như sau:

  • C:\Windows\Web\RDWeb\Pages\fr-FR – cho phiên bản Windows Server tiếng Pháp
  • C:\Windows\Web\RDWeb\Pages\de-DE – cho phiên bản tiếng Đức.

Để bật tùy chọn thay đổi mật khẩu, bạn cần chạy bảng điều khiển IIS Manager (inetmgr) trên máy chủ với vai trò RD Web Access đã cấu hình. Đi tới [Server Name] -> Sites -> Default Web Site -> RDWeb -> Pages và mở phần Application Settings.

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Trong ngăn bên phải, tìm tham số PasswordChangeEnabled và thay đổi giá trị của nó thành true.

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Cũng có thể đặt tham số PasswordChangeEnabled thành True trong file cấu hình IIS C:\Windows\Web\RDWeb\Pages\Web.config.

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Tham số PasswordChangeEnabled cho phép người dùng Active Directory thay đổi mật khẩu hết hạn của họ qua cổng RD Web Access. Tùy chọn này không cho phép thay đổi mật khẩu của người dùng cục bộ trên máy chủ RDS trong môi trường workgroup (không có domain).

Khởi động lại máy chủ web IIS từ bảng điều khiển hoặc dùng lệnh:

iisreset

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Để kiểm tra sự khả dụng của trang thay đổi mật khẩu, truy cập trang web sau:

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

RD Web Access phải cài đặt chứng chỉ SSL hợp lệ. Bạn có thể sử dụng chứng chỉ Let's Encrypt miễn phí trong IIS.

Nhập tên người dùng, mật khẩu cũ và mật khẩu mới hai lần.

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Sau khi thay đổi mật khẩu người dùng thành công, thông báo sau sẽ xuất hiện:

Your password has been successfully changed.

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Nhấn OK và người dùng sẽ được chuyển hướng đến trang đăng nhập RD Web. Nếu mật khẩu của người dùng không đáp ứng chính sách mật khẩu của domain, cảnh báo sẽ xuất hiện:

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

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Bạn chỉ có thể dùng cách thay đổi mật khẩu này trên máy chủ Remote Desktop Web Access nếu Forms Authentication được bật trên IIS của máy chủ RDWA. Bạn sẽ không thể thay đổi mật khẩu qua form web RD nếu phương thức Windows Authentication được sử dụng.

Bạn có thể liệt kê và thay đổi các loại xác thực được hỗ trợ trong bảng điều khiển IIS Manager. Chọn Sites -> Default Web Sites -> RDWeb -> Pages trong ngăn bên phải, chọn Forms Authentication.

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Bây giờ, khi cố gắng kết nối đến máy chủ RD Web Access với mật khẩu hết hạn, người dùng sẽ được chuyển hướng đến trang web password.aspx và được đề nghị thay đổi mật khẩu của họ.

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Mẹo. Bạn có thể thay đổi mật khẩu hết hạn trên Windows Server 2008 R2 với vai trò RD Web Access sau khi cài đặt bản cập nhật đặc biệt KB2648402.

Thêm liên kết thay đổi mật khẩu vào form đăng nhập RD Web Access

Bạn có thể thêm liên kết đến form thay đổi mật khẩu trực tiếp vào form đăng nhập Remote Desktop WebAccess. Điều này sẽ cho phép người dùng thay đổi mật khẩu bất kỳ lúc nào mà không cần đợi đến khi nó hết hạn.

Chèn liên kết đến file password.aspx vào trang đăng nhập RDWeb (tạo bản sao lưu file password.aspx trước khi chỉnh sửa).

  1. Trên máy chủ RDWeb, tìm và mở file C:\Windows\Web\RDWeb\Pages\en-US\login.aspx trong bất kỳ trình soạn thảo văn bản nào (tôi thích Notepad++);
  2. Đi đến dòng 429 (Trong Windows Server 2022, nó nằm sau khối HTML sau <tr id="trPasswordExpiredNoChange" <%=strErrorMessageRowStyle%> > … </tr> ) và dán mã sau:
  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 -->
    Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server
  4. Lưu thay đổi trong file login.aspx, khởi động lại trang web IIS và đảm bảo liên kết đến trang thay đổi mật khẩu xuất hiện trên trang đăng nhập của máy chủ RD Web.

Cách thay đổi mật khẩu hết hạn qua Remote Desktop Web Access trên Windows Server

Người dùng từ xa теперь có thể thay đổi mật khẩu hết hạn trên máy chủ RDS của bạn mà không cần can thiệp của quản trị viên. Lưu ý rằng nếu bạn sử dụng Cached Credentials của domain để đăng nhập vào máy tính cục bộ, chúng sẽ không được cập nhật sau khi bạn thay đổi mật khẩu Active Directory qua RDWebAccess.