PROBLEM
Błędy sprawdzania poprawności są wyświetlane w portalu Office 365 lub module Microsoft Azure Active Directory dla Windows PowerShell.
-
W portalu Office 365 występują co najmniej jeden z następujących objawów:
-
Obok użytkownika zostanie wyświetlone czerwone kółko z symbolem "X".
-
U góry strony zarządzania użytkownikami jest wyświetlany następujący komunikat o błędzie:
Wystąpił błąd na jednym lub kilku kontach użytkowników. Aby sprawdzić, których użytkowników dotyczy problem, i wyświetlić szczegółowy komunikat o błędzie, przefiltruj listę użytkowników według użytkowników z błędami, wybierz użytkownika, a następnie kliknij pozycję Edytuj.
Ponadto podczas wyświetlania właściwości użytkownika jest wyświetlany komunikat w następującym formacie:
<Service>: komunikat o błędzie <>Poniżej przedstawiono przykład takiego komunikatu o błędzie:
Exchange: Nazwa "<Nazwa>" jest już używana. Spróbuj użyć innej nazwy
-
-
W Azure module usługi Active Directory dla Windows PowerShell po uruchomieniu polecenia cmdlet jest wyświetlany komunikat o błędzie sprawdzania poprawności. Na przykład po uruchomieniu Get-MsolUser -UserPrincipalName johnsmith@contoso.com | Wybierz pozycję Błędy, polecenie cmdlet ValidationStatus, zostanie wyświetlony następujący komunikat o błędzie:
Błędy: {Microsoft.Online.Administration.ValidationError,Microsoft.Online.Administration.ValidationError,Microsoft.Online.Administration.ValidationError}ValidationStatus: Error
PRZYCZYNA
Przyczyna problemu zależy od błędu sprawdzania poprawności. Aby uzyskać więcej informacji o konkretnym błędzie, uruchom odpowiednie polecenie cmdlet Windows PowerShell na podstawie typu obiektu w module Azure Active Directory dla Windows PowerShell.
W przypadku kontaktów
Następujące polecenie cmdlet pobiera wszystkie błędy w obiekcie:
$errors = (Get-MsolContact –ObjectID <Object_ID>).Errors
Następujące polecenie cmdlet iteruje poszczególne błędy i pobiera informacje o usłudze oraz komunikat o błędzie:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
Na przykład uruchom następujące polecenia 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}
W przypadku grup
Następujące polecenie cmdlet pobiera wszystkie błędy w obiekcie:
$errors = (Get-MsolGroup –ObjectID <Object_ID>).Errors
Następujące polecenie cmdlet iteruje poszczególne błędy i pobiera informacje o usłudze oraz komunikat o błędzie:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
Na przykład uruchom następujące polecenia 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}
Dla użytkowników
Następujące polecenie cmdlet pobiera wszystkie błędy dotyczące interesującego obiektu:
$errors = (Get-MsolUser -UserPrincipalName "<User_ID>").Errors
Następujące polecenie cmdlet pobiera wszystkie błędy dla wszystkich użytkowników na Azure AD:
Get-MsolUser -HasErrorsOnly -All | ft DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} -AutoSize -wrap
Aby uzyskać błędy w formacie CSV, użyj następującego polecenia cmdlet:
Get-MsolUser -HasErrorsOnly | select DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} | Export-csv c:\temp\validationerrors.csv
Następujące polecenie cmdlet iteruje poszczególne błędy i pobiera informacje o usłudze oraz komunikat o błędzie:
$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: " + $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}
Na przykład uruchom następujące polecenia 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}
Dane wyjściowe będą przypominać następujące:
Usługa: MicrosoftCommunicationsOnline Komunikat o błędzie: wartość pola msRTCSIP-LineURI w lokalnej usłudze Active Directory nie jest unikatowa lub telefon WorkPhone zgłosił konflikty użytkowników z innymi użytkownikami. Popraw wartość w lokalnej usłudze Active Directory lub w interfejsie użytkownika administratora dzierżawy. Po poprawieniu wartość zostanie zaktualizowana w katalogu microsoft online services podczas następnej synchronizacji z usługą Active Directory.
ROZWIĄZANIE
W poniższej tabeli wymieniono niektóre typowe błędy sprawdzania poprawności.Uwaga To nie jest pełna lista błędów sprawdzania poprawności. W przypadku błędów, których nie ma na liście, spróbuj rozwiązać ten problem na podstawie informacji zawartych w komunikacie o błędzie.
|
Komunikat o błędzie |
Przyczyna |
Rozwiązanie |
|---|---|---|
|
Exchange: nazwa ... jest już używany. Spróbuj użyć innej nazwy. |
Nieznany |
Uruchom następujące polecenie cmdlet:Set-MsolUser –UserPrincipalName <UserPrincipalName> |
|
Exchange: Nie można znaleźć obiektu "<> ObjectID". Upewnij się, że został wpisany poprawnie lub określ inny obiekt. |
Istnieje inny obiekt, do którego odwołuje się ten obiekt (na przykład uprawnienia) i którego nie można odnaleźć. |
Sprawdź uprawnienia, takie jak Uprawnienia Pełny dostęp, Wyślij jako, Wyślij w imieniu. Upewnij się, że ci użytkownicy istnieją, lub usuń uprawnienia. |
|
Exchange: Nie można przekonwertować grupy "namprd03.prod.outlook.com/Microsoft Organizacje hostowane programu Exchange/contoso.onmicrosoft.com/Puget Sound/BLDG 1" na listę pomieszczeń. Listy pomieszczeń mogą mieć tylko skrzynki pocztowe pokojów lub listy pomieszczeń jako członków. "namprd03.prod.outlook.com/Microsoft Hostowane organizacje/contoso.onmicrosoft.com/BLDG 1\/Room100" nie jest skrzynką pocztową pokoju ani listą pomieszczeń. |
Jest to lista pomieszczeń zawierająca członków, którzy nie są skrzynkami pocztowymi pokojów ani innymi listami pomieszczeń. |
Upewnij się, że grupa zawiera tylko skrzynki pocztowe pokojów lub listy pomieszczeń. Aby uzyskać więcej informacji, przejdź do następujących witryn internetowych Microsoft TechNet: |
|
Exchange: Nie znaleziono planu skrzynki pocztowej z BPOS_L_Standard SKU. Użytkownik nie ma dostępu do poczty e-mail. |
Firma miała wcześniej Office 365 dla specjalistów lub małych firm plan lub plan Office 365 Small Business. |
Nic. Użytkownik ma dostęp do wiadomości e-mail. |
|
Lync: Wartość pola msRTCSIP-LineURI w lokalnej usłudze Active Directory nie jest unikatowa lub telefon WorkPhone zgłosił konflikty użytkowników z innymi użytkownikami. Popraw wartość w lokalnej usłudze Active Directory lub w interfejsie użytkownika administratora dzierżawy. Po poprawieniu wartość zostanie zaktualizowana w katalogu microsoft online services podczas następnej synchronizacji z usługą Active Directory. |
Więcej niż jeden użytkownik w Office 365 ma właściwości msRTCSIP-LineURI lub WorkPhone zgodne. Obejmuje to scenariusz, w którym co najmniej dwóch użytkowników w wielu firmach Office 365 ma takie same wartości msRTCSIP-LineURI lub WorkPhone. |
Właściwość msRTCSIP-LineURI lub WorkPhone musi być unikatowa w usłudze Office365. |
WIĘCEJ INFORMACJI
Aby wyświetlić obiekty, z których jest skojarzony błąd, uruchom następujące polecenia Windows PowerShell w module Azure Usługi Active Directory dla 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
Uwaga Polecenia Windows PowerShell w tym artykule wymagają Azure modułu usługi Active Directory dla Windows PowerShell. Aby uzyskać więcej informacji na temat Azure modułu usługi Active Directory dla Windows PowerShell, przejdź do następującej witryny internetowej firmy Microsoft:
Zarządzanie Azure AD przy użyciu Windows PowerShell
Nadal potrzebujesz pomocy? Przejdź do witryny Microsoft Community.