คุณเห็นข้อผิดพลาดในการตรวจสอบความถูกต้องสำหรับผู้ใช้ในเว็บไซต์ Office ๓๖๕หรือในโมดูลของไดเรกทอรีที่ใช้งานอยู่ของ Azure สำหรับ Windows PowerShell

นำไปใช้กับ: Exchange OnlineOffice 365 User and Domain Management

ปัญหา


คุณ (ผู้ดูแลระบบ) ได้รับข้อผิดพลาดในการตรวจสอบความถูกต้องในเว็บไซต์ Office ๓๖๕หรือในโมดูลของไดเรกทอรีที่ใช้งานอยู่ของ Microsoft Azure สำหรับ Windows PowerShell
  • ในเว็บไซต์ Office ๓๖๕คุณพบอย่างน้อยหนึ่งอาการดังต่อไปนี้:
    • วงกลมสีแดงที่มี "X" จะปรากฏถัดจากผู้ใช้
    • ข้อความข้อผิดพลาดต่อไปนี้จะแสดงที่ด้านบนของหน้าการจัดการผู้ใช้:
      มีข้อผิดพลาดในบัญชีผู้ใช้อย่างน้อยหนึ่งรายการ เมื่อต้องการดูว่าผู้ใช้ใดจะได้รับผลกระทบและข้อผิดพลาดโดยละเอียดให้กรองรายชื่อผู้ใช้โดยผู้ใช้ที่มีข้อผิดพลาดให้เลือกผู้ใช้แล้วคลิกแก้ไข
      นอกจากนี้เมื่อคุณดูคุณสมบัติของผู้ใช้คุณเห็นข้อความในรูปแบบต่อไปนี้:
      บริการ < >: ข้อความข้อผิดพลาด < >
      ต่อไปนี้เป็นตัวอย่างของข้อผิดพลาดดังกล่าว:
      แลกเปลี่ยน: ชื่อ "< ชื่อ >" ถูกใช้อยู่แล้ว กรุณาลองชื่ออื่น
  • ในโมดูลของไดเรกทอรีที่ใช้งานอยู่ของ Azure สำหรับ Windows PowerShell คุณได้รับข้อความข้อผิดพลาดการตรวจสอบเมื่อคุณเรียกใช้ cmdlet ตัวอย่างเช่นเมื่อคุณเรียกใช้การรับ-MsolUser-UserPrincipalName johnsmith@contoso.com เลือกข้อผิดพลาด, ValidationStatus cmdlet คุณได้รับข้อความข้อผิดพลาดต่อไปนี้:
    ข้อผิดพลาด: {ValidationError, Microsoft ออนไลน์. การจัดการ ValidationError, Microsoft ออนไลน์. ValidationError} ValidationStatus: ข้อผิดพลาด

สาเหตุ


สาเหตุของปัญหาขึ้นอยู่กับข้อผิดพลาดในการตรวจสอบ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดที่ระบุให้เรียกใช้ cmdlet ของ Windows PowerShell ที่เหมาะสมตามชนิดวัตถุในโมดูล Azure Active Directory สำหรับ 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} 
ตัวอย่างเช่นเรียกใช้ 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:

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ข้อความข้อผิดพลาด: ค่าของเขตข้อมูล msRTCSIP-LineURI ในไดเรกทอรีที่ใช้งานอยู่ภายในเครื่องของคุณไม่ซ้ำกันหรือ WorkPhone ที่ยื่นสำหรับความขัดแย้งของผู้ใช้กับผู้ใช้อื่น แก้ไขค่าในไดเรกทอรีที่ใช้งานอยู่ในเครื่องของคุณหรือใน UI ของผู้ดูแลระบบผู้เช่า หลังจากที่คุณแก้ไขค่าจะถูกปรับปรุงในไดเรกทอรีบริการออนไลน์ของ Microsoft ในระหว่างการซิงโครไนส์ของไดเรกทอรีที่ใช้งานอยู่ถัดไป

โซลูชัน


ตารางต่อไปนี้แสดงข้อผิดพลาดการตรวจสอบทั่วไปบางอย่าง ทราบ นี่ไม่ใช่รายการที่สมบูรณ์ของข้อผิดพลาดในการตรวจสอบ สำหรับข้อผิดพลาดที่ไม่ได้อยู่ในรายการให้ลองแก้ไขปัญหาตามข้อมูลที่รวมอยู่ในข้อความข้อผิดพลาด
ข้อความแสดงข้อผิดพลาดสาเหตุแก้ ปัญหา
แลกเปลี่ยน: ชื่อ ... ถูกใช้อยู่แล้ว กรุณาลองชื่ออื่นไม่รู้จักเรียกใช้ cmdlet ต่อไปนี้:
Set-MsolUser –UserPrincipalName <UserPrincipalName of the User> 
แลกเปลี่ยน: ไม่พบวัตถุ "< ObjectID >" โปรดตรวจสอบให้แน่ใจว่าได้สะกดอย่างถูกต้องหรือระบุวัตถุอื่นมีวัตถุอื่นที่ถูกอ้างอิงจากวัตถุนี้ (เช่นสิทธิ์) และไม่พบวัตถุนั้นตรวจสอบสิทธิ์เช่นการเข้าถึงแบบเต็ม, ส่งเป็น, ส่งในนามสิทธิ์. ตรวจสอบให้แน่ใจว่าผู้ใช้เหล่านั้นมีอยู่หรือเอาสิทธิ์ออก
แลกเปลี่ยน: กลุ่ม "namprd03.prod.outlook.com/Microsoft Exchange องค์กรที่โฮสต์/contoso. com/Puget เสียง/BLDG 1" ไม่สามารถแปลงเป็นรายการห้อง รายการห้องพักสามารถมีกล่องจดหมายห้องหรือห้องพักเป็นสมาชิกเท่านั้น "namprd03.prod.outlook.com/Microsoft Exchange องค์กรที่โฮสต์/contoso. com/BLDG 1 \/Room100" ไม่ใช่กล่องจดหมายห้องหรือรายการห้องนี่คือรายการห้องที่ประกอบด้วยสมาชิกที่ไม่ใช่กล่องจดหมายห้องหรือรายการห้องอื่นๆตรวจสอบให้แน่ใจว่ากลุ่มมีเฉพาะกล่องจดหมายห้องหรือรายการห้อง สำหรับข้อมูลเพิ่มเติมไปที่เว็บไซต์ของ Microsoft TechNet ดังต่อไปนี้:
แลกเปลี่ยน: ไม่พบแผนการกล่องจดหมายที่มี SKU ' BPOS_L_Standard ' ผู้ใช้ไม่มีสิทธิ์เข้าถึงทาง e-mailบริษัทก่อนหน้านี้มี Office ๓๖๕สำหรับแผนธุรกิจมืออาชีพหรืองานขนาดเล็กหรือแผนธุรกิจ Office ๓๖๕ขนาดเล็กอะไร ผู้ใช้สามารถเข้าถึงข้อความทางเมล
Lync: ค่าของเขตข้อมูล msRTCSIP-LineURI ในไดเรกทอรีที่ใช้งานอยู่ภายในของคุณไม่ซ้ำกันหรือ WorkPhone ยื่นสำหรับความขัดแย้งของผู้ใช้กับผู้ใช้อื่น แก้ไขค่าในไดเรกทอรีที่ใช้งานอยู่ในเครื่องของคุณหรือใน UI ของผู้ดูแลระบบผู้เช่า หลังจากที่คุณแก้ไขค่าจะถูกปรับปรุงในไดเรกทอรีบริการออนไลน์ของ Microsoft ในระหว่างการซิงโครไนส์ของไดเรกทอรีที่ใช้งานอยู่ถัดไปผู้ใช้มากกว่าหนึ่งใน Office ๓๖๕มีMsrtcsip-LineURIหรือคุณสมบัติของโทรศัพท์ที่ตรงกัน ซึ่งรวมถึงสถานการณ์สมมติที่ผู้ใช้สองคนหรือมากกว่าในหลายบริษัทใน Office ๓๖๕มีMsrtcsip-LineURIเดียวกันหรือค่าในโทรศัพท์ทำงานการMsrtcsip-LineURIหรือคุณสมบัติทางโทรศัพท์ต้องไม่ซ้ำกันใน Office365

ข้อมูลเพิ่มเติม


หากต้องการดูวัตถุที่มีข้อผิดพลาดที่เกี่ยวข้องให้เรียกใช้คำสั่ง Windows PowerShell ดังต่อไปนี้ในโมดูลของไดเรกทอรีที่ใช้งานอยู่ของ Azure สำหรับ 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 สำหรับ Windows PowerShell สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโมดูลไดเรกทอรีที่ใช้งานอยู่ของ Azure สำหรับ Windows PowerShell ไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
หากยังต้องการความช่วยเหลือ ไปที่ชุมชน Microsoft