問題
你 (管理員) 在Office 365入口網站或Microsoft Azure Active Directory模組中收到驗證錯誤,Windows PowerShell。
-
在 Office 365 入口網站中,您會經歷以下一項或多項症狀:
-
使用者旁邊會顯示一個紅色圓圈,上面有「X」。
-
以下錯誤訊息顯示於使用者管理頁面頂端:
有一個或多個使用者帳號出現錯誤。 要查看受影響的使用者及詳細錯誤訊息,請依有錯誤使用者篩選使用者名單,選擇使用者,然後點擊編輯。
此外,當您查看使用者的屬性時,會看到以下格式的訊息:
<服務>:<錯誤訊息>以下是此類錯誤訊息的範例:
交換:已經使用「<名>」這個名稱。 請試試其他名字
-
-
在 Windows PowerShell 的 Azure Active Directory 模組中,執行 cmdlet 時會收到驗證錯誤訊息。 例如,當你執行 Get-MsolUser -UserPrincipalName johnsmith@contoso.com |選擇錯誤,ValidationStatus 指令,你會收到以下錯誤訊息:
錯誤:{Microsoft.Online.Administration.ValidationError,Microsoft.Online.Administration.ValidationError,Microsoft.Online.Administration.ValidationError}ValidationStatus : Error
成因
問題的成因取決於驗證錯誤。 如需更多關於特定錯誤的資訊,請在 Azure Active Directory 模組中的 Windows PowerShell 中,根據物件類型執行適當的 Windows PowerShell 指令碼。
關於隱形眼鏡
以下 cmdlet 會檢索物件上的所有錯誤:
$errors = (Get-MsolContact –ObjectID <Object_ID>).Errors
以下 cmdlet 會遍歷每個錯誤,並取得服務資訊與錯誤訊息:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
例如,執行以下指令集:
$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}
例如,執行以下指令集:
$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}
例如,執行以下指令集:
$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 欄位的值並非唯一,或為該使用者提交的工作電話與其他使用者衝突。 在你本機的 Active Directory 或租戶管理介面中修正這個數值。 修正後,該值會在下一次 Active Directory 同步時更新至 Microsoft Online Services 目錄。
解決方案
下表列出了一些常見的驗證錯誤。注意:這並非完整的驗證錯誤清單。 對於不在清單上的錯誤,請根據錯誤訊息中包含的資訊嘗試解決問題。
|
錯誤訊息 |
原因 |
解決方案 |
|---|---|---|
|
交換:名字...... 已經被使用。 請試試其他名字。 |
未知 |
執行以下 cmdlet:Set-MsolUser –UserPrincipalName <使用者> 的 UserPrincipalName |
|
交換:找不到物件「<ObjectID>」。 請確認拼寫正確或指定不同的物件。 |
還有另一個物件是從這個物件 (引用的,例如權限) ,但找不到那個物件。 |
檢查權限,例如「完全存取」、「以新身份發送」、「代為發送」等權限。 確保這些使用者存在,或移除權限。 |
|
Exchange:「namprd03.prod.outlook.com/Microsoft Exchange Hosted Organisations/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 for professionals 或 small business 方案,或 Office 365 Small Business 方案。 |
沒什麼。 使用者可以存取電子郵件訊息。 |
|
Lync:你本機 Active Directory 中 msRTCSIP-LineURI 欄位的值並非唯一,或者該使用者所歸檔的工作電話與其他使用者衝突。 在你本機的 Active Directory 或租戶管理介面中修正這個數值。 修正後,該值會在下一次 Active Directory 同步時更新至 Microsoft Online Services 目錄。 |
Office 365 中有多個使用者擁有符合的 msRTCSIP-LineURI 或 WorkPhone 屬性。 這包括多家 Office 365 公司中兩個或以上使用者擁有相同的 msRTCSIP-LineURI 或 WorkPhone 值的情況。 |
msRTCSIP-LineURI 或 WorkPhone 屬性必須在 Office365 中是唯一的。 |
其他相關資訊
要查看與錯誤相關的物件,請在 Azure Active Directory 模組中的 Windows PowerShell 執行以下 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指令需要Azure Active Directory 模組來Windows PowerShell。 欲了解更多關於 Windows PowerShell Azure Active Directory 模組的資訊,請造訪以下Microsoft網站:
Manage Azure AD using Windows PowerShell
是否仍需要協助? 前往 Microsoft Community。