John was an employee of Fabrikam, Inc until he resigned to pursue his dream of professional fly fishing. Michael, his direct manager and the SharePoint Administrator for the Fabrikam SharePoint Online tenant, wants to remove John from showing up in his Org chart. Michael cannot delete the user object due to company policy, so he goes to Active Directory and updates John's user account to delete his name from the manager field of the account. He closes and goes about his day, expecting John to drop off with the next sync between his on premises Active Directory and Office365.
The next day, the Michael notices that John's user account is still showing up. He checks his ADConnect logs and sees no errors, so he connects to the Azure Active Directory PowerShell Module and runs the following command:
Connect-MSOLService Get-MSOLUser -UserPrincipalName email@example.com
And sees that the changes have synced. Concerned, John opens a Service Request with Microsoft Support.
SharePoint Online syncs data from directory service into the User Profile Application incrementally. A change to the user object in AD will update a hash value stored in the object used by the User Profile Application to determine if that object needs to be synced. This is a performance feature that prevents the UPA from needlessly syncing objects that have no updates to them. In the case of null value syncs, the object hash is not updated, therefore the user never syncs to UPA, and Michael's update to John's user object never takes.
After speaking with a Microsoft Commercial Services and Support engineer, Michael is directed to make a second update to John's user object, such as adding a birthday. Michael opts to update the display name with a flag marking John as a terminated employee. He then waits 24 hours and checks his Org chart the next day. This time, John is no longer to be found. Satisfied, Michael informs the engineer that the matter is resolved.