Skip to content

Instantly share code, notes, and snippets.

@tostka
Last active July 17, 2019 23:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tostka/1769ce912da85197263724eb415e7163 to your computer and use it in GitHub Desktop.
Save tostka/1769ce912da85197263724eb415e7163 to your computer and use it in GitHub Desktop.
Confirm EXO Recipient
$exorcp = get-exorecipient $rcp.PrimarySmtpAddress ;
$exorcp | select recipientt* ;
$rcp.recipienttype ;
$exorcp.recipienttype ;
$whatif = $true ;
$tAddress = "UserUPN@domain.com" ;
rx10 ; rxo ;
if ($rcp = get-recipient $tAddress) {
write-host -foregroundcolor green "`n$((get-date).ToString('HH:mm:ss')):$($tAddress) FOUND - CHECKING NO-BRAIN STATUS:`nget-recipient`n$(($rcp| select alias,primar*,recipientt*|out-string).trim())`n" ;
if ($rcp.RecipientTypeDetails -eq "RemoteUserMailbox") {
write-host -foregroundcolor green "$((get-date).ToString('HH:mm:ss')):$($tAddress) RecipientTypeDetails -eq RemoteUserMailbox:" ;
$rmbx = get-remotemailbox -id $rcp.PrimarySmtpAddress ;
write-host -foregroundcolor green "`n===`n$((get-date).ToString('HH:mm:ss')):RMBX FOUND WITH UPN:$(($rmbx.userprincipalname|out-string).trim())`n" ;
if ($exombx = get-exomailbox -id $rmbx.userprincipalname -ea 0) {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):get-exomailbox -id $($rmbx.userprincipalname) *FOUND* MATCHING EXO MBX`n -- NO NO-BRAIN MISMATCH! --" ;
write-host -foregroundcolor green "$((get-date).ToString('HH:mm:ss')):CMDLET w`n$(($exombx|ft -a Name,Alias,ServerName|out-string).trim())" ;
}
else {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):get-exomailbox -id $($rmbx.userprincipalname) FOUND *NO* MATCHING EXO MBX`n -- *CONFIRMED NO-BRAIN STATUS*! --" ;
$exorcp = get-exorecipient $rcp.PrimarySmtpAddress ;
write-host -foregroundcolor green "$((get-date).ToString('HH:mm:ss')):get-exorecipient $($rcp.PrimarySmtpAddress):`n$(($exorcp| select recipientt*|out-string).trim())" ;
cmsol ;
$msolu = Get-MsolUser -userp $rmbx.userprincipalname ;
if ($msolu.IsLicensed -AND !($msolu.LicenseReconciliationNeeded)) {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):USER HAS *NO* LICENSING ISSUES:" ;
}
else {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):USER *HAS* LICENSING ISSUES:" ;
} ;
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):Get-MsolUser -userp $($rmbx.userprincipalname):`n$(($msolu | select userprin*,*Error*,*status*,softdel*,lic*,islic*|out-string).trim())`n" ;
if ($msolu.SoftDeleteTimestamp -eq $null) {
write-host -foregroundcolor green "$((get-date).ToString('HH:mm:ss')):$($msol.userprincipalname) has a BLANK SoftDeleteTimestamp`n=> USER WASN'T PROPERLY DE-LICENSED (or would have fallen into dumpster at >30d)`n AAD REPLIC BREAK LIKELY, AAD SYNC LOSS WO PROPER UPDATE`n" ;
} ;
$adu = get-aduser $rmbx.SamAccountName -prop * ;
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):CHECKING ON-PREM LIC GRANT GRP:`nget-aduser $($rmbx.SamAccountName) - LIC Grant Group`n$(($adu | select -expand memberof | ?{$_ -match'^CN\=ENT\-APP\-Office365\-(EXOK|F1|MF1)-DL,OU\=ENTERPRISE,DC\=global,DC\=ad,DC\=toro,DC\=com$'}|out-string).trim())`n" ;
if ($rcp.RecipientType -eq $exorcp.RecipientType) {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):BOTH ONPREM & EXO MAIL OBJECTS SHOW RecipientType -eq MailUser `n=> *NO BRAIN STATUS CONFIRMED!*`n" ;
} ;
};
} ;
}
else {
throw "get-recipient failed to match any hits on $($tAddress)" ;
};
$whatif = $true ;
$tAddress = "UserUPN@domain.com" ;
rx10 ; rxo ;
if ($rcp = get-recipient $tAddress) {
write-host -foregroundcolor green "`n$((get-date).ToString('HH:mm:ss')):$($tAddress) FOUND - CHECKING NO-BRAIN STATUS:`nget-recipient`n$(($rcp| select alias,primar*,recipientt*|out-string).trim())`n" ;
if ($rcp.RecipientTypeDetails -eq "RemoteUserMailbox") {
write-host -foregroundcolor green "$((get-date).ToString('HH:mm:ss')):$($tAddress) RecipientTypeDetails -eq RemoteUserMailbox:" ;
$rmbx = get-remotemailbox -id $rcp.PrimarySmtpAddress ;
write-host -foregroundcolor green "`n===`n$((get-date).ToString('HH:mm:ss')):RMBX FOUND WITH UPN:$(($rmbx.userprincipalname|out-string).trim())`n" ;
if ($exombx = get-exomailbox -id $rmbx.userprincipalname -ea 0) {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):get-exomailbox -id $($rmbx.userprincipalname) *FOUND* MATCHING EXO MBX`n -- NO NO-BRAIN MISMATCH! --" ;
write-host -foregroundcolor green "$((get-date).ToString('HH:mm:ss')):CMDLET w`n$(($exombx|ft -a Name,Alias,ServerName|out-string).trim())" ;
}
else {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):get-exomailbox -id $($rmbx.userprincipalname) FOUND *NO* MATCHING EXO MBX`n -- *CONFIRMED NO-BRAIN STATUS*! --" ;
$exorcp = get-exorecipient $rcp.PrimarySmtpAddress ;
write-host -foregroundcolor green "$((get-date).ToString('HH:mm:ss')):get-exorecipient $($rcp.PrimarySmtpAddress):`n$(($exorcp| select recipientt*|out-string).trim())" ;
cmsol ;
$msolu = Get-MsolUser -userp $rmbx.userprincipalname ;
if ($msolu.IsLicensed -AND !($msolu.LicenseReconciliationNeeded)) {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):USER HAS *NO* LICENSING ISSUES:" ;
}
else {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):USER *HAS* LICENSING ISSUES:" ;
} ;
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):Get-MsolUser -userp $($rmbx.userprincipalname):`n$(($msolu | select userprin*,*Error*,*status*,softdel*,lic*,islic*|out-string).trim())`n" ;
if ($msolu.SoftDeleteTimestamp -eq $null) {
write-host -foregroundcolor green "$((get-date).ToString('HH:mm:ss')):$($msol.userprincipalname) has a BLANK SoftDeleteTimestamp`n=> USER WASN'T PROPERLY DE-LICENSED (or would have fallen into dumpster at >30d)`n AAD REPLIC BREAK LIKELY, AAD SYNC LOSS WO PROPER UPDATE`n" ;
} ;
$adu = get-aduser $rmbx.SamAccountName -prop * ;
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):CHECKING ON-PREM LIC GRANT GRP:`nget-aduser $($rmbx.SamAccountName) - LIC Grant Group`n$(($adu | select -expand memberof | ?{$_ -match'^CN\=ENT\-APP\-Office365\-(EXOK|F1|MF1)-DL,OU\=ENTERPRISE,DC\=global,DC\=ad,DC\=toro,DC\=com$'}|out-string).trim())`n" ;
if ($rcp.RecipientType -eq $exorcp.RecipientType) {
write-host -foregroundcolor green "`n===$((get-date).ToString('HH:mm:ss')):BOTH ONPREM & EXO MAIL OBJECTS SHOW RecipientType -eq MailUser `n=> *NO BRAIN STATUS CONFIRMED!*`n" ;
} ;
};
} ;
}
else {
throw "get-recipient failed to match any hits on $($tAddress)" ;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment