Did you ever need to find in your Office 365 tenant :
- What object is using a specific email address or UserPrincipalName ?
- What object is preventing an Active Directory account from syncing because of duplicated email address or UserPrincipalName ?
- Where are them located in your tenant : in Users, in Contacts or in Deleted users ?
If yes, this article may help you achieve your goal. Find below how to process. To install the Microsoft Online Service Module for Powershell, please follow the instruction in the paragraph Connect with the Microsoft Azure Active Directory Module for Windows PowerShell of this link :
https://docs.microsoft.com/en-us/office365/enterprise/powershell/connect-to-office-365-powershell
When you are ready, open a Powershell console and Sign in to your Office 365 tenant with an Admin Account using this command line
Connect-MsolService
Run the below Powershell fonction :
function Get-ConflictingAttributes {
[Cmdletbinding()]
param (
[Parameter(mandatory=$true)]
[String]$SearchValue
)
$SearchTable = @{}
Write-Host "Searching began :" $(Get-Date) -ForegroundColor Green
#Searching in all ProxyAddresses
Write-Host "Searching User and Guest accounts" $(Get-Date) -ForegroundColor Yellow
$User = Get-MsolUser -All | Where-Object {($_.UserPrincipalName -match $SearchValue) -or ($_.ProxyAddresses -match $SearchValue)}
#Searching in all deleted users
Write-Host "Searching Deleted accounts" $(Get-Date) -ForegroundColor Yellow
$Del = Get-MsolUser -All -ReturnDeletedUsers | Where-Object {($_.UserPrincipalName -match $SearchValue) -or ($_.ProxyAddresses -match $SearchValue)}
#Searching in contacts
Write-Host "Searching Contacts" $(Get-Date) -ForegroundColor Yellow
$Contact = Get-MsolContact -All | Where-Object {$_.EmailAddress -match $SearchValue}
Write-Host "Searching ended :" $(Get-Date) -ForegroundColor Green
if ($User){
$SearchTable.Add($User.UserType,$User) | Out-Null
}
if ($Del){
$SearchTable.Add($Del.UserType,$Del) | Out-Null
}
if ($Contact){
$SearchTable.Add("Contact",$Contact) | Out-Null
}
return $SearchTable
}
Now, suppose that you want to know which account in your Office 365 tenant is using the email address john.doe@koafric.com, it’ simple, run this command line in the Powershell console you previously opened :
$Result = Get-ConflictingAttributes -SearchValue "john.doe@koafric.com"
To see result :

We can see the object that’s using the value “john.doe@koafric.com” is a contact and this value is set on his EmailAddress.
Leave a Reply