Trong bài viết này, chúng tôi sẽ chỉ ra cách người dùng từ xa của bạn có thể thay đổi mật khẩu đã hết hạn sử dụng biểu mẫu web đặc biệt trên máy chủ Dịch vụ Máy tính Từ xa (RDS) có vai trò Truy cập Web RD 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 máy tính từ xa
Trong Windows Server 2012 R2 và mới hơn, NLA (Xác thực cấp độ mạng) được bật cho các kết nối Máy tính Từ xa theo mặc định. NLA ngăn người dùng kết nối với máy chủ RDP / RDS nếu mật khẩu của họ đã hết hạn hoặc người có “ Người dùng phải thay đổi mật khẩu lần đầu tiên khi đăng nhập ”Tùy chọn được bật trong thuộc tính người dùng useraccountcontrol của họ. Bạn có thể vô hiệu hóa 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 với máy chủ RDSH (Máy chủ phiên máy tính từ xa) trong tài khoản người dùng có mật khẩu đã hết hạn, thông báo lỗi sau sẽ xuất hiện:
Đã xảy ra lỗi xác thực Không thể liên lạc với Cơ quan Bảo mật Cục bộ
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 nếu họ không có cách nào khác để truy cập mạng công ty ngoài cơ sở hạ tầng RDS. Chắc chắn, bạn có thể yêu cầu người dùng của mình thay đổi mật khẩu của họ trực tiếp trong phiên RDP trước hoặc bằng cách bật Đăng nhập tương tác:Nhắc người dùng thay đổi mật khẩu trước khi hết hạn Tùy chọn GPO lưu trữ RDS (Cấu hình máy tính -> Cài đặt Windows -> Chính sách cục bộ -> Tùy chọn bảo mật), nhưng không phải lúc nào nó cũng hoạt động do người dùng hay quên.
Trong Windows 2012 R2 và mới hơn, người dùng từ xa có thể đặt lại mật khẩu của họ theo cách thủ công (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 Truy cập Web Máy tính Từ xa vai diễn. Để thay đổi mật khẩu, người dùng phải xác thực qua trang web đăng nhập RDS-WebAccess và thay đổi mật khẩu bằng biểu mẫu aspx đặc biệt.
Lưu ý . Trong Windows Server 2003, người dùng miền có thể thay đổi mật khẩu đã hết hạn sử dụng ứng dụng web nhỏIISADMPWD
(mặc 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ủ Truy cập RDWeb?
Tùy chọn thay đổi mật khẩu từ xa khả dụng trên máy chủ có vai trò Truy cập Web Máy tính Từ xa (RD Web Access), nhưng tính năng này bị tắt theo mặc định.
Nếu bạn đã triển khai nhóm máy chủ RDS, bạn có thể tìm thấy máy chủ có 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"}
Để thay đổi mật khẩu, hãy sử dụng tập lệnh trong password.aspx tệp 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ó gói ngôn ngữ), đường dẫn đến tệp password.aspx sẽ khác và trông giống như sau:
- C:\ Windows \ Web \ RDWeb \ Pages \ fr-FR - dành 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 Trình quản lý IIS bảng điều khiển (inetmgr
) trên máy chủ có vai trò Truy cập Web RD được cấu hình. Đi tới [Tên máy chủ] -> Trang web -> Trang web mặc định -> RDWeb -> Trang và mở Cài đặt ứng dụng phần.
Trong ngăn bên phải, tìm PasswordChangeEnabled và thay đổi giá trị của nó thành true .
Ngoài ra, bạn có thể đặt thông số PasswordChangeEnabled thành True trong tệp cấu hình IIS C:\ Windows \ Web \ RDWeb \ Pages \ Web.config.
PasswordChangeEnabled cho phép người dùng Active Directory thay đổi mật khẩu đã hết hạn của họ thông 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 nhóm làm việc (không có miền).
Khởi động lại máy chủ web IIS từ bảng điều khiển hoặc sử dụng lệnh:
iisreset
Để kiểm tra tính khả dụng của trang thay đổi mật khẩu, hãy truy cập trang web sau:
https://lonSrvRDS1/RDWeb/Pages/en-US/password.aspx
RD Web Access phải được 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.
Sau khi thay đổi thành công mật khẩu của người dùng, thông báo sau sẽ xuất hiện:
Your password has been successfully changed.
Nhấp vào 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 khớp với chính sách mật khẩu của miền, một thông báo cảnh báo sẽ xuất hiện:
Mật khẩu mới của bạn không đáp ứng các yêu cầu về độ dài, độ phức tạp hoặc lịch sử của miền của bạn. Hãy thử chọn một mật khẩu mới khác.
Bạn chỉ có thể sử dụng cách thay đổi mật khẩu này trên máy chủ Truy cập Web Máy tính Từ xa nếu Xác thực Mẫu được bật trên IIS trên máy chủ RDWA. Bạn sẽ không thể thay đổi mật khẩu thông qua biểu mẫu web RD nếu Xác thực Windows phương pháp được sử dụng.
Bạn có thể liệt kê và thay đổi các kiểu xác thực được hỗ trợ trong bảng điều khiển IIS Manager. Chọn Trang web -> Trang web mặc định -> RDWeb -> Trang trong ngăn bên phải, chọn Xác thực mẫu .
Bây giờ, khi cố gắng kết nối với máy chủ RD Web Access bằng 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 mình.
Mẹo . Bạn có thể thay đổi mật khẩu đã hết hạn trên Windows Server 2008 R2 bằng Vai trò truy cập Web RD 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 Biểu mẫu Đăng nhập Truy cập Web RD
Bạn có thể thêm liên kết vào biểu mẫu thay đổi mật khẩu trực tiếp vào biểu mẫu đăng nhập Remote Desktop WebAccess. Điều này sẽ cho phép người dùng thay đổi mật khẩu của họ bất kỳ lúc nào mà không cần đợi đến khi mật khẩu hết hạn.
Chèn liên kết đến tệp password.aspx vào trang đăng nhập RDWeb (tạo bản sao lưu của tệp password.aspx trước khi chỉnh sửa).
- Trên máy chủ RDWeb, tìm và mở tệp 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 ++ hơn);
- Chuyển đến dòng 429 (Trong Windows Server 2022, nó nằm sau khối HTML sau
<tr id="trPasswordExpiredNoChange" <%=strErrorMessageRowStyle%> > … </tr>
) và dán đoạn mã sau: -
<!-- 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 --> - Lưu các thay đổi trong tệp login.aspx, khởi động lại trang web IIS và đảm bảo rằng 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ủ Web RD.
Người dùng từ xa hiện 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 sự can thiệp của quản trị viên. Lưu ý rằng nếu bạn sử dụng Thông tin đăng nhập được lưu trong bộ nhớ cache của miền để đăng nhập vào máy tính cục bộ của mình, chúng sẽ không được cập nhật sau khi bạn thay đổi mật khẩu Active Directory của mình qua RDWebAccess.