问题
(管理员) Office 365门户或Windows PowerShell Microsoft Azure Active Directory模块中收到验证错误。
-
在Office 365门户中,遇到以下一个或多个症状:
-
用户旁边会显示一个带有“X”的红色圆圈。
-
以下错误消息显示在用户管理页的顶部:
一个或多个用户帐户出现错误。 若要查看受影响的用户和详细的错误消息,请按有错误的用户筛选用户列表,选择一个用户,然后单击“编辑”。
此外,查看用户的属性时,会看到以下格式的消息:
<服务>:<错误消息>下面是此类错误消息的示例:
Exchange:已使用名称“<Name>”。 请尝试其他名称
-
-
在适用于Windows PowerShell的 Azure Active Directory 模块中,运行 cmdlet 时收到验证错误消息。 例如,运行 Get-MsolUser -UserPrincipalName johnsmith@contoso.com |选择“错误”“验证状态 cmdlet”,会收到以下错误消息:
错误: {Microsoft.Online.Administration.ValidationError,Microsoft.Online.Administration.ValidationError,Microsoft.Online.Administration.ValidationError}ValidationStatus : Error
原因
问题的原因取决于验证错误。 有关特定错误的详细信息,请根据Windows PowerShell Azure Active Directory 模块中的对象类型运行相应的Windows PowerShell cmdlet。
对于联系人
以下 cmdlet 检索对象上的所有错误:
$errors = (Get-MsolContact –ObjectID <Object_ID>).Errors
以下 cmdlet 循环访问每个错误并检索服务信息和错误消息:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
例如,运行以下 cmdlet:
$errors = (Get-MsolContact –ObjectID 430ecced-b2c5-455b-94df-ab2b5756b060 ).Errors
$errors | foreach-object {"`nService: "+ $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
对于组
以下 cmdlet 检索对象上的所有错误:
$errors = (Get-MsolGroup –ObjectID <Object_ID>).Errors
以下 cmdlet 循环访问每个错误并检索服务信息和错误消息:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
例如,运行以下 cmdlet:
$errors = (Get-MsolGroup –ObjectID 430ecced-b2c5-455b-94df-ab2b5756b060 ).Errors
$errors | foreach-object {"`nService: "+ $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
对于用户
以下 cmdlet 检索感兴趣的对象上的所有错误:
$errors = (Get-MsolUser -UserPrincipalName "<User_ID>").Errors
以下 cmdlet 检索Azure AD 上所有用户的所有错误:
Get-MsolUser -HasErrorsOnly -All | ft DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} -AutoSize -wrap
若要获取 CSV 格式的错误,请使用以下 cmdlet:
Get-MsolUser -HasErrorsOnly | select DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} | Export-csv c:\temp\validationerrors.csv
以下 cmdlet 循环访问每个错误并检索服务信息和错误消息:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: " + $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
例如,运行以下 cmdlet:
$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}
输出将如下所示:
服务:MicrosoftCommunicationsOnline 错误消息:本地 Active Directory 中的 msRTCSIP-LineURI 字段的值不唯一,或者用户提交的 WorkPhone 与其他用户冲突。 更正本地 Active Directory 或租户管理 UI 中的值。 更正后,将在下一次 Active Directory 同步期间更新 Microsoft Online Services 目录中的值。
解决 方案
下表列出了一些常见的验证错误。注意 这不是验证错误的完整列表。 对于不在列表中的错误,请尝试根据错误消息中包含的信息解决问题。
|
错误消息 |
原因 |
解决方法 |
|---|---|---|
|
Exchange:名称... 已被使用。 请尝试其他名称。 |
未知 |
运行以下 cmdlet:Set-MsolUser –UserPrincipalName <UserPrincipalName 的用户> |
|
Exchange:找不到对象“<ObjectID>”。 请确保拼写正确或指定其他对象。 |
此对象 (引用了另一个对象,例如权限) ,但找不到该对象。 |
检查权限,例如“完全访问权限”、“发送方式”、“代表发送”权限。 请确保这些用户存在,或删除权限。 |
|
Exchange:组“namprd03.prod.outlook.com/Microsoft Exchange 托管的组织/contoso.onmicrosoft.com/Puget Sound/BLDG 1”无法转换为会议室列表。 会议室列表只能将会议室邮箱或会议室列表作为成员。 “namprd03.prod.outlook.com/Microsoft Exchange 托管的组织/contoso.onmicrosoft.com/BLDG 1\/Room100”不是会议室邮箱或会议室列表。 |
这是一个会议室列表,其中包含不是会议室邮箱或其他会议室列表的成员。 |
确保组仅包含会议室邮箱或会议室列表。 有关详细信息,请转到以下Microsoft TechNet 网站: |
|
Exchange:找不到 SKU 为“BPOS_L_Standard”的邮箱计划。 用户无权访问电子邮件。 |
该公司以前曾为专业人士或小型企业计划或Office 365 小型企业版计划提供Office 365。 |
什么。 用户有权访问电子邮件。 |
|
Lync:本地 Active Directory 中的 msRTCSIP-LineURI 字段的值不唯一,或者用户提交的 WorkPhone 与其他用户冲突。 更正本地 Active Directory 或租户管理 UI 中的值。 更正后,将在下一次 Active Directory 同步期间更新 Microsoft Online Services 目录中的值。 |
Office 365中的多个用户具有匹配的 msRTCSIP-LineURI 或 WorkPhone 属性。 这包括多个Office 365公司的两个或多个用户具有相同的 msRTCSIP-LineURI 或 WorkPhone 值的方案。 |
msRTCSIP-LineURI 或 WorkPhone 属性在 Office365 中必须是唯一的。 |
更多信息
若要查看具有与其关联的错误的对象,请在适用于Windows PowerShell的 Azure Active Directory 模块中运行以下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
注意 本文中的Windows PowerShell命令需要用于Windows PowerShell的 Azure Active Directory 模块。 有关Azure Active Directory 模块Windows PowerShell的详细信息,请转到以下Microsoft网站:
使用 Windows PowerShell 管理 Azure AD
仍然需要帮助? 请转到 Microsoft 社区。