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