I sometimes find that the validation error detail in the portal is less than helpful, and getting the verbiage from powershell can be a bit tricky, so I wrote the following Powershell function that will output all the Azure objects with a more human-readable version of the validation errors for each account…
function Get-MSOLUserWithValidationError
{
$usererr = Get-MsolUser -HasErrorsOnly
Foreach ($user in $usererr) {
Write-output $user.UserPrincipalName;
"Service: "+ $user.Errors.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $user.Errors.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription +"`n"
}
}
# END FUNCTION Get-MSOLUserWithValidationError