PROBLEMA
Usted (el administrador) recibe errores de validación en el portal de Office 365 o en el módulo de Active Directory de Microsoft Azure para Windows PowerShell.
-
En el portal de Office 365, experimenta uno o varios de los síntomas siguientes:
-
Se muestra un círculo rojo con una "X" junto a un usuario.
-
El siguiente mensaje de error se muestra en la parte superior de una página de administración de usuarios:
Hay un error en una o más cuentas de usuario. Para ver qué usuarios se ven afectados y el mensaje de error detallado, filtre la lista de usuarios por usuarios con errores, seleccione un usuario y, a continuación, haga clic en Editar.
Además, al ver las propiedades del usuario, verá un mensaje en el siguiente formato:
<Servicio>: <Mensaje de error>A continuación se muestra un ejemplo de este tipo de mensaje de error:
Exchange: El nombre "<Name>" ya se está utilizando. Por favor, intente con otro nombre
-
-
En el módulo de Azure Active Directory para Windows PowerShell, recibirá un mensaje de error de validación al ejecutar un cmdlet. Por ejemplo, cuando se ejecuta el Get-MsolUser -UserPrincipalName johnsmith@contoso.com Seleccione Errores, cmdlet ValidationStatus, obtendrá el siguiente mensaje de error:
Errores : Microsoft.Online.Administration.ValidationError,Microsoft.Online.Administration.ValidationError,Microsoft.Online.Administration.ValidationError-ValidationStatus : Error error :
CAUSA
La causa del problema depende del error de validación. Para obtener más información acerca de un error específico, ejecute el cmdlet de Windows PowerShell adecuado en función del tipo de objeto en el módulo de Azure Active Directory para Windows PowerShell.
Para contactos
El cmdlet siguiente recupera todos los errores del objeto:
$errors = (Get-MsolContact –ObjectID <Object_ID>).Errors
El siguiente cmdlet recorre en iteración cada error y recupera la información del servicio y el mensaje de error:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
Por ejemplo, ejecute los siguientes cmdlets:
$errors = (Get-MsolContact –ObjectID 430ecced-b2c5-455b-94df-ab2b5756b060 ).Errors
$errors | foreach-object {"`nService: "+ $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
Para grupos
El cmdlet siguiente recupera todos los errores del objeto:
$errors = (Get-MsolGroup –ObjectID <Object_ID>).Errors
El siguiente cmdlet recorre en iteración cada error y recupera la información del servicio y el mensaje de error:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
Por ejemplo, ejecute los siguientes cmdlets:
$errors = (Get-MsolGroup –ObjectID 430ecced-b2c5-455b-94df-ab2b5756b060 ).Errors
$errors | foreach-object {"`nService: "+ $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
Para usuarios
El cmdlet siguiente recupera todos los errores en el objeto de interés:
$errors = (Get-MsolUser -UserPrincipalName "<User_ID>").Errors
El siguiente cmdlet recupera todos los errores para todos los usuarios de Azure AD:
Get-MsolUser -HasErrorsOnly -All | ft DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} -AutoSize -wrap
Para obtener los errores en formato CSV, use el siguiente cmdlet:
Get-MsolUser -HasErrorsOnly | select DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} | Export-csv c:\temp\validationerrors.csv
El siguiente cmdlet recorre en iteración cada error y recupera la información del servicio y el mensaje de error:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: " + $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
Por ejemplo, ejecute los siguientes cmdlets:
$errors = (get-msoluser -userprincipalname "johnsmith@contoso.com").Errors
Get-MsolUser -HasErrorsOnly -All | ft DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} -AutoSize -wrap
Get-MsolUser -HasErrorsOnly | select DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} | Export-csv c:\temp\validationerrors.csv
$errors | foreach-object {"`nService: "+ $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
La salida será similar a la siguiente:
Servicio: MicrosoftCommunicationsOnline Mensaje de error: el valor del campo msRTCSIP-LineURI en su Active Directory local no es único o el WorkPhone archivado para el usuario entra en conflicto con otros usuarios. Corrija el valor en su Active Directory local o en la interfaz de usuario de administración de inquilinos. Después de corregirlo, el valor se actualizará en el directorio de Microsoft Online Services durante la siguiente sincronización de Active Directory.
SOLUCIÓN
En la tabla siguiente se enumeran algunos errores de validación comunes. Nota Esta no es una lista completa de errores de validación. Para los errores que no están en la lista, intente resolver el problema en función de la información que se incluye en el mensaje de error.
Mensaje de error |
Causa |
Resolución |
---|---|---|
Intercambio: El nombre ... ya se está utilizando. Por favor, intente otro nombre. |
Desconocido |
Ejecute el siguiente cmdlet:Set-MsolUser –UserPrincipalName <UserPrincipalName of the User> |
Exchange: No se pudo encontrar el objeto "<ObjectID>". Asegúrese de que se ha escrito correctamente o especifique un objeto diferente. |
Hay otro objeto al que se hace referencia desde este objeto (como permisos) y ese objeto no se puede encontrar. |
Compruebe los permisos como acceso completo, Enviar como, Enviar en nombre permisos. Asegúrese de que esos usuarios existen o quite los permisos. |
Exchange: el grupo "namprd03.prod.outlook.com/Microsoft las organizaciones hospedadas de Exchange/contoso.onmicrosoft.com/Puget Sound/BLDG 1" no se pueden convertir en una lista de salas. Las listas de salas solo pueden tener buzones de sala o listas de salas como miembros. "namprd03.prod.outlook.com/Microsoft de las organizaciones hospedadas de Exchange/contoso.onmicrosoft.com/BLDG 1/Room100" no es un buzón de sala o una lista de salas. |
Esta es una lista de salas que contiene miembros que no son buzones de sala u otras listas de salas. |
Asegúrese de que el grupo solo contiene buzones de sala o listas de salas. Para obtener más información, vaya a los siguientes sitios web de Microsoft TechNet: |
Exchange: no se encontró ningún plan de buzón de correo con SKU 'BPOS_L_Standard'. El usuario no tiene acceso al correo electrónico. |
La empresa anteriormente tenía un plan de Office 365 para profesionales o pequeñas empresas o un plan de Office 365 Small Business. |
Nada. El usuario tiene acceso a los mensajes de correo electrónico. |
Lync: el valor del campo msRTCSIP-LineURI en su Active Directory local no es único o el WorkPhone archivado para el usuario entra en conflicto con otros usuarios. Corrija el valor en su Active Directory local o en la interfaz de usuario de administración de inquilinos. Después de corregirlo, el valor se actualizará en el directorio de Microsoft Online Services durante la siguiente sincronización de Active Directory. |
Más de un usuario en Office 365 tiene msRTCSIP-LineURI o WorkPhone propiedades que coinciden. Esto incluye el escenario en el que dos o más usuarios de varias empresas de Office 365 tienen los mismos valores msRTCSIP-LineURI o WorkPhone. |
La propiedad msRTCSIP-LineURI o WorkPhone debe ser única en Office365. |
MÁS INFORMACIÓN
Para ver los objetos que tienen un error asociado, ejecute los siguientes comandos de Windows PowerShell en el módulo de Azure Active Directory para Windows PowerShell.
-
Get-MsolUser | Where {$_.Errors –ne $null} | Select ObjectID, DisplayName
-
Get-MsolContact | Where {$_.Errors –ne $null} | Select ObjectID, DisplayName
-
Get-MsolGroup | Where {$_.Errors –ne $null} | Select ObjectID, DisplayName
Nota Los comandos de Windows PowerShell de este artículo requieren el módulo de Azure Active Directory para Windows PowerShell. Para obtener más información acerca del módulo de Azure Active Directory para Windows PowerShell, vaya al siguiente sitio Web de Microsoft:
Administrar Azure AD usando Windows PowerShell
¿Aún necesita ayuda? Visite Comunidad Microsoft.