Thank you for your post!
I found a detailed article about why this is occurring, and I'll share a summarized answer below to hopefully help point you in the right direction and resolve your issue.
For more details:
When it comes to your Device name showing the $
symbol, the author was able to reproduce the issue by renaming their computer(s) within Active Directory (On-prem).
- The author then notes that after a couple hours, the issue was "fixed" by itself.
....So far so good – names match, then we renamed it through the system properties within the Operating System from PFEWIN10 to NEW-PFEWIN10, waited for the next sync cycle and there it was, in Azure AD the computer’s display name was: NEW-PFEWIN10$ while in the Computer Name in the OS settings was without the “$”.
Looking into the Azure AD Connect Rules for Device Synchronization and looking at the Devices Rule, the author found that the
- "...rule logic is basically the culprit of having $ in the end of all devices that have been renamed."
So when a computer is first joined to the domain , the displayname attribute in AD is usually <Not Set> , hence in Azure AD , the device’s display name is populated with the value of the CN attribute (as the rules mandates), this will not change until the actual displayname on-premises is populated on certain events.. like renaming a computer.
In Active Directory Domain Services when a computer is renamed, the displayname attribute is then populated with the name of the computer and appends a $ to the end (this is on-prem AD by design), since now ***displayname ***attribute is not NULL , AAD connect uses displayname on-prem instead of CN to populate the display name value in the AAD object…
I hope this helps!
If you have any other questions, please let me know. Thank you for your time and patience throughout this issue.
If the information helped address your question, please Accept the answer. This will help us and also improve searchability for others in the community who might be researching similar information.