Users switch to the .onmicrosoft.com domain after an INKY install
Written By Nathan McCurley
Last updated 3 days ago
Short version
INKY does not modify user principal names, email addresses, or any other Entra ID attribute. The install verifies a domain in your tenant. Verifying a domain causes Microsoft to run ProxyCalc, a background process that re-evaluates every object in the tenant. Any account whose identity data was already inconsistent gets rewritten to the default .onmicrosoft.com domain when that runs. This can affect a few accounts or the entire tenant. It does not resolve on its own. The underlying data has to be repaired in Active Directory or Entra ID.
What you're seeing
Shortly after an INKY install, users' email addresses and sign-in identities no longer show your organization's domain. They now use the tenant.onmicrosoft.com domain that came with your Microsoft 365 subscription. Affected users are signed out, cannot sign in with their usual address, and get repeated credential prompts in Outlook and other Microsoft 365 apps.
What it means
Microsoft Entra ID runs a background process called ProxyCalc that keeps each account's UserPrincipalName and proxyAddresses consistent with the tenant's verified domains. It does not run continuously. It fires in response to tenant-level configuration changes, and verifying a domain is one of those changes. When it fires, it evaluates every object in the tenant, not just the objects involved in the change.
The INKY install verifies a domain as part of setup, which is enough to start it.
When ProxyCalc evaluates an account and finds no valid identity on a verified domain, it falls back to the tenant's default .onmicrosoft.com domain, which is always present and cannot be removed. For cloud-only accounts, the UPN is converted to that suffix. For directory-synced accounts, the UPN is expected to match the value Entra Connect syncs up from on-premises Active Directory. If it does not match and no correct suffix is available, the default domain is used instead.
INKY does not write to user principal names, proxy addresses, or any other identity attribute during installation. The recalculation surfaces an identity problem that was already present in the directory.
Microsoft describes this behavior in Understanding bulk user updates during verified domain changes, which confirms that adding a verified domain triggers the operation against every object in the tenant.
Before you start
The commands below run in three different places. Connect to the right one before running each:
Exchange Online PowerShell for
Get-MailboxandSet-Mailbox. Install theExchangeOnlineManagementmodule, then runConnect-ExchangeOnline.Microsoft Graph PowerShell for
Update-MgUser. Install theMicrosoft.Graph.Usersmodule, then runConnect-MgGraph -Scopes "User.ReadWrite.All".On-premises Active Directory for
Get-ADUser. Run from a domain controller or a machine with RSAT installed, using an account with domain administrative permissions.
Replace user@domain.com in the examples with the address you are working on.
What to do
Work through these in order. Steps 1 and 2 make no changes.
If every account in the tenant is affected rather than a few, check the domain before correcting users. Confirm the domain carrying your identities is verified and set as the default. Corrections to individual accounts will not hold while a domain-level problem remains.
1. Confirm the cause in the Entra ID audit log
In the Microsoft Entra admin center, go to Identity > Monitoring & health > Audit logs and filter to the date and time of the install.
Look for a group of Update user entries with:
Category set to
UserManagementService set to
Core DirectoryActor empty or showing
N/A, with Actor Type ofOther
The empty actor field is what identifies these. Changes made by an administrator or an application record the actor's name. ProxyCalc does not.
Compare the timestamps against the install. Domain verification runs a few minutes before the identity changes appear. Actions performed by the INKY installer are recorded under its own app registration name, and none of them are user attribute changes.
Open one of the entries and expand Modified Properties to see the old and new values.
2. Determine whether the tenant is hybrid or cloud-only
This decides where the fix belongs. If accounts are directory-synced, correcting them in the cloud gets overwritten at the next sync cycle, so the on-premises data has to be fixed first.
Get-Mailbox -Identity user@domain.com | Select-Object DisplayName, UserPrincipalName, PrimarySmtpAddress, IsDirSynced If IsDirSynced is True, go to step 3. If False, skip to step 4.
3. Repair the source data in on-premises Active Directory
To inspect a single user in Active Directory Users and Computers:
Open the View menu and enable Advanced Features, otherwise the Attribute Editor tab stays hidden.
Locate the user account, right-click it, and select Properties.
Open the Attribute Editor tab and find the proxyAddresses and userPrincipalName attributes.
Confirm
proxyAddressesholds one entry beginning with an uppercaseSMTP:on your organization's domain. Aliases use lowercasesmtp:.Confirm
userPrincipalNameuses your organization's domain and matches what the user signs in with.
The same check from PowerShell:
Get-ADUser -Identity username -Properties proxyAddresses, userPrincipalName | Select-Object userPrincipalName, proxyAddresses Correct any account missing an uppercase SMTP: entry or carrying a .onmicrosoft.com UPN. Then force a delta sync from the Entra Connect server and check the account again in Entra ID.
Do not run a bulk script that overwrites proxyAddresses across every user object. Replacing the attribute wholesale discards aliases, x500: entries, and older addresses that mail flow and calendar delegation still depend on. Find the affected accounts first and correct only those.
For how Microsoft builds the final values from these attributes, see How the proxyAddresses attribute is populated in Microsoft Entra ID and Microsoft Entra UserPrincipalName population.
4. Correct cloud-only accounts
Find every affected account before changing anything:
Get-Mailbox -ResultSize Unlimited | Where-Object { $_.PrimarySmtpAddress -like "*.onmicrosoft.com" } | Select-Object DisplayName, UserPrincipalName, PrimarySmtpAddress This filters on the client side and takes several minutes on a large tenant. Review the results before acting on them. Some accounts legitimately use the default domain, including service and system accounts.
Correct the sign-in identity, using the account's current .onmicrosoft.com UPN to identify it:
Update-MgUser -UserId user@tenant.onmicrosoft.com -UserPrincipalName user@domain.com Changing a UPN signs the user out of Microsoft 365 and can affect OneDrive and Teams. Have the user close their apps first and sign back in afterward.
Correct the primary email address:
Set-Mailbox -Identity user@domain.com -PrimarySmtpAddress user@domain.com The previous primary address stays on the mailbox as an alias, so mail sent to the .onmicrosoft.com address still arrives.
5. Verify
Get-Mailbox -Identity user@domain.com | Select-Object DisplayName, UserPrincipalName, PrimarySmtpAddress Have the user sign out and back in, then send a test message and check the From address on the recipient's copy.
Checking a tenant before an INKY install
Run this against the tenant before installing. Any account it returns is already inconsistent and is a candidate to be rewritten:
Get-Mailbox -ResultSize Unlimited | Where-Object { $_.UserPrincipalName -like "*.onmicrosoft.com" -or $_.PrimarySmtpAddress -like "*.onmicrosoft.com" } | Select-Object DisplayName, UserPrincipalName, PrimarySmtpAddress Also confirm the domain-level conditions, which determine whether the impact is limited to a few accounts or reaches the whole tenant:
Every domain carrying user identities is verified in the tenant
Your organization's domain is set as the default domain
Directory synchronization is running without errors
These checks are worth running whether or not you are installing INKY. Any future domain change in the tenant produces the same result.