Tìm kiếm trang web

Cách thay đổi mật khẩu đã hết hạn thông qua truy cập web trên máy tính từ xa trên Windows Server


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 của họ bằng biểu mẫu web đặc biệt trên máy chủ Dịch vụ Máy tính Từ xa (RDS) với vai trò Truy cập Web RD trên Windows Server 2022/2019/2016/2012 R2.< br />

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 trở lê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 những người đã bật tùy chọn “Người dùng phải thay đổi mật khẩu ở lần đăng nhập đầu tiên” trong thuộc tính người dùng useraccountcontrol của họ. 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 với máy chủ RDSH (Máy chủ Phiên Máy tính Từ xa) bằng 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:

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.

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 thay đổi mật khẩu của họ trực tiếp trước trong phiên RDP hoặc bằng cách bật tùy chọn Đă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 Máy chủ RDS (Cấu hình máy tính -> Windows Settings -> Local Policies -> Security Options), 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 trở lê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 vai trò Truy cập Web Máy tính Từ xa. Để thay đổi mật khẩu, người dùng phải xác thực thông 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 của họ bằng một ứng dụng web nhỏ

IISADMPWD

(mặc dù không được hỗ trợ chính thức).

Làm cách nào để 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 trên 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 cụm máy chủ RDS, thì bạn có thể tìm một máy chủ đã cài đặt vai trò RDS-WEB-Access 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.a-d.site| where {$_.roles -eq "RDS-WEB-ACCESS"}

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

Nếu bạn đang sử dụng phiên bản Windows Server được 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à có dạng như sau:

  • C:\Windows\Web\RDWeb\Pages\fr-FR - dành cho phiên bản tiếng Pháp của Windows Server

  • C:\Windows\Web\RDWeb\Pages\de-DE - dành 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 Trình quản lý IIS (

inetmgr

) trên máy chủ có vai trò RD Web Access đã định cấu hình. Đi tới [Tên máy chủ] -> Trang web -> Trang web mặc định -> RDWeb -> Trang và mở phần Cài đặt ứng dụng.

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

Ngoài ra, bạn có thể đặt tham số PasswordChangeEnabled thành True trong tệp cấu hình IIS C:\Windows\Web\RDWeb\Pages\Web.config.

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ọ 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:

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

Bạn chỉ có thể sử dụng cách thay đổi mật khẩu này trên máy chủ Remote Desktop Web Access nếu Xác thực Biểu 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 sử dụng phương thứcXác thực Windows.

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 Trình quản lý IIS. Chọn Trang web -> Trang web mặc định -> RDWeb -> Trang trong ngăn bên phải, chọn Xác thực biểu mẫu.

Giờ đây, 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 trực tiếp vào biểu mẫu thay đổi mật khẩu 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 cứ lúc nào mà không cần đợi cho đến khi nó 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).

  1. Trên máy chủ RDWeb, tìm và mở tệp C:\Windows\Web\RDWeb\Pages n-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);

  2. 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:

  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. 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 một 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 xác thực đã lưu trong bộ đệm ẩn 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 qua RDWebAccess.

Bài viết liên quan