Nie możesz zalogować się do usługi Office 365 z wielu domen federacyjnej

Uwaga

Nazwa usługi Office 365 ProPlus została zmieniona na Aplikacje usługi Microsoft 365 dla przedsiębiorstw. Aby uzyskać więcej informacji na temat tej zmiany, przeczytaj ten wpis w blogu.

Problem

Użytkownicy z wielu domen federacyjnej (domen najwyższego poziomu lub podrzędnych) nie mogą logować się do usługi Office 365. Ponadto otrzymują następujący komunikat o błędzie:

Przepraszamy, ale mamy problemy z zalogowaniem się. AADSTS50107: Żądany obiekt obszaru federacji "http:// <ADFShostname>/adfs/services/trust" nie istnieje.

Spowodować

Ten problem występuje z jednego z następujących powodów:

  • Reguła przekształcania emisji jest wymagana do zmiany wystawcy z domyślnej nazwy hosta wystąpienia usługi federacyjnej Active Directory (AD FS) na zestaw wystawców, jeśli brakuje domeny, która jest sfederowana.
  • Reguła przekształcania emisji nie jest aktualizowana po dodaniu domen podrzędnych.

Ten problem występuje, gdy wiele domen najwyższego poziomu są sfederowane do tego samego wystąpienia usług AD FS dla dzierżawców.

Rozwiązanie

  1. Przejdź do reguł oświadczeń usługi Azure AD RPT,a następnie kliknij przycisk Dalej.

  2. Określ wartość niezmiennego identyfikatora (sourceAnchor) > logowania użytkownika (na przykład nazwy UPN lub poczty). Jeśli wiele domen najwyższego poziomu jest sfederowanych, wybierz opcję Tak, gdy zostanie wyświetlony monit o odpowiedź na "Czy zaufanie usługi Azure AD z usługami AD FS obsługuje wiele domen?"

  3. Połącz się z programem PowerShell usługi Office 365, a następnie wyeksportuj listę domen do pliku csv (na przykład pliku output.csv). Aby to zrobić, uruchom następujące polecenia cmdlet:

    Import-Module MSOnline
    
    Connect-MsolService
    
    Get-MsolDomain | Select-Object Name, RootDomain, Authentication | ConvertTo-Csv -NoTypeInformation | % {$_.Replace('"','')} | Out-File output.csv
    
  4. Kliknij pozycję Generuj oświadczenia, a następnie skopiuj polecenia cmdlet programu PowerShell z sekcji Reguły oświadczeń.

  5. Zapisz polecenia cmdlet jako skrypt programu PowerShell (na przykład updatelclaimrules.ps1), a następnie uruchom następujące polecenie, aby uruchomić skrypt na podstawowym serwerze usług AD FS:

    .\Updateclaims.ps1
    
  6. Skrypt tworzy kopię zapasową istniejących reguł przekształcania emisji jako plik txt w bieżącym katalogu roboczym.

Jeśli chcesz przywrócić reguły emisji, których kopię zapasową utworzono za pomocą skryptu, uruchom następujące polecenie cmdlet i określ plik kopii zapasowej utworzony w kroku 5. W poniższym przykładzie plik kopii zapasowej to Kopia zapasowa 2018.12.26_09.21.03.txt.

Set-AdfsRelyingPartyTrust -TargetIdentifier "urn:federation:MicrosoftOnline" -IssuanceTransformRulesFile "Backup 2018.12.26_09.21.03.txt"