Hola Candace,
Since Set-ADAccountPassword works when run on the domain controller and generates Event ID 4723 there, the domain controller is clearly capable of processing a normal self-service password change for that account. Microsoft documents 4723 as the event generated when a user attempts to change their own password.
The fact that CTRL+ALT+DEL attempts from the workstation never generate 4723 on the DC strongly suggests the password-change request isn’t actually reaching the domain controller. That moves this away from an AD ACL/password-policy problem and toward the workstation-to-DC path.
The 4673 events you found for wlrmdr.exe and DWM are probably noise. Event 4673 records use of sensitive privileges such as SeTcbPrivilege, SeAssignPrimaryTokenPrivilege, SeAuditPrivilege, and SeImpersonatePrivilege. Those are common Windows security auditing events for system processes and don’t specifically indicate a password-change failure.
At this point, I’d check whether the workstation can reach the Kerberos password-change service on the DC. Domain password changes commonly use the Kerberos kpasswd service over TCP/UDP 464.
From an affected workstation, try:
Test-NetConnection <DC-FQDN> -Port 464
I’d also verify the workstation is locating the expected DC:
nltest /dsgetdc:<yourdomain>
And then check Kerberos/DC communication:
klist purge
klist get krbtgt/<yourdomain>
If TCP 464 fails, that would fit the symptoms very well: normal domain logon can still work, but CTRL+ALT+DEL password changes fail before the DC ever logs Event 4723.
If 464 is reachable, the next thing I’d look at is a packet capture from the workstation during one failed password-change attempt. That should tell us whether the client is attempting Kerberos password change traffic at all, whether it’s going to the correct DC, and whether anything is being rejected or dropped before it reaches LSASS on the DC.
Microsoft’s documentation on the password change flow is useful here.
Thanks,
James