ADFS 4.0 mit Fehler 221 oder 102

  • Beitrags-Kategorie:Tutorial / Windows
  • Beitrags-Autor:
  • Beitrag zuletzt geändert am:6. September 2023
  • Lesedauer:5 min Lesezeit
  • Beitrags-Kommentare:Ein Kommentar
  • Betrifft: Active Directory Federation Service 4.0 (und womöglich älter)
  • System: Microsoft Windows Server 2012 R2, Windows Server 2016
  • Problem: Nach einem Änderungsvorgang über Powershell (Set-AdfsProperties) können keine Abfragen (Get-AdfsProperties) gestellt werden. In den Rückmeldungen erhält man eine Fehlermeldung, jedoch keine Werte. Der zugehörige Windowsdienst kann nicht gestartet werden, sofern dieser beendet wurde. Es wird für die ADFS-Datenbank ein eigenständiger SQL Server verwendet.

 

Hintergrund

Im Verlauf der Zeit wird man immer wieder Änderungsvorgänge entweder via Powershell oder via AD FS-Verwaltung durchführen müssen. Man wird dabei vielleicht merken, dass der Änderungsvorgang länger als gewöhnlich dauert.

powershell_adfs_invaliddata

Bei der Kontrolle ob die Änderung erfolgt wurde, erhält man direkt eine Fehlermeldung:

Get-AdfsProperties : Eine Ausnahme vom Typ “Microsoft.IdentityServer.PolicyModel.Client.StorageOperationException”
wurde ausgelöst.
In Zeile:1 Zeichen:1
+ Get-AdfsProperties | select *kmsi*
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidData: (:) [Get-AdfsProperties], StorageOperationException
+ FullyQualifiedErrorId : Eine Ausnahme vom Typ “Microsoft.IdentityServer.PolicyModel.Client.StorageOperationException” wurde ausgelöst.,Microsoft.IdentityServer.Management.Commands.GetServicePropertiesCommand

 

In der Ereignisanzeige treten nach dem Ausführen des Änderungsbefehls (nicht ab der Eigenschaftenabfrage) wiederholte Fehlermeldungen auf.  Diese sehen wie folgt aus:

Deutsch English
Log File: AD FS/Admin
Quelle: AD FS
Ereignis-ID: 221
Log File: AD FS/Admin
Quelle: AD FS
Ereignis-ID: 221
Eine Änderung der Tokendienstkonfiguration wurde festgestellt, es trat jedoch ein Fehler beim erneuten Laden der Konfigurationsänderungen.

Zusätzliche Daten
Fehler:  ADMIN0012: OperationFault

A change to the token service configuration was detected, but there was an error reloading the changes to configuration.
Additional DataError: The specified directory service attribute or value does not exist.

Wenn nun versucht wird, den ADFS-Dienst neu zu starten, dann wird der Startvorgang mit folgender Fehlermeldung scheitern:

Deutsch
Log File: AD FS/Admin
Quelle: AD FS
Ereignis-ID: 102
Beim Aktivieren von Endpunkten des Verbunddiensts ist ein Fehler aufgetreten. Beheben Sie Konfigurationsfehler mit PowerShell-Cmdlets, und starten Sie den Verbunddienst erneut.

Zusätzliche Daten
Ausnahmedetails:
System.ServiceModel.FaultException`1[Microsoft.IdentityServer.Protocols.PolicyStore.OperationFault]: ADMIN0012: OperationFault (Fehlerdetail ist gleich Microsoft.IdentityServer.Protocols.PolicyStore.OperationFault).

English
Log File: AD FS/Admin
Quelle: AD FS
Ereignis-ID: 102
There was an error in enabling endpoints of Federation Service. Fix configuration errors using PowerShell cmdlets and restart the Federation Service.

Additional Data
Exception details:
System.ServiceModel.FaultException`1[Microsoft.IdentityServer.Protocols.PolicyStore.OperationFault]: ADMIN0012: OperationFault (Fault Detail is equal to Microsoft.IdentityServer.Protocols.PolicyStore.OperationFault).

 

Es scheint einen Zusammenhang mit dem KB4019472 (Sicherheitsupdate 2017-05) vom 5. Mai 2017 für Windows Server 2016 zu geben. Das konnte ich nicht direkt verifizieren, da schon recht lange her. Womöglich schlummert der Fehler seit dem Update in vielen Installationen und erst die nächste Konfigurationsänderung löst das Problem aus.

 

Behebung

Die Angelegenheit ist simpel, aber verlangt nach einer gültigen Datenbanksicherung bevor die Behebung durchgeführt wird. Wer keine Sicherung hat, der kann direkt die Behebung probieren und mit Glück geht es wieder.

Zumindest in meinem Fall hatte ich die Datenbank aus der Sicherung wiederhergestellt, da in die Datenbank (laut Ereignisanzeige) ungültige Daten geschrieben wurden. Erst anschließend wurde die notwendige Behebung durchgeführt. Grundlegend könnte der ADFS-Dienst nach der Wiederherstellung gestartet werden und würde wieder normal laufen, jedoch eine erneute Konfigurationsänderung liefert wieder das obige Problem…

 

Die Ursache hat mit den Anmeldungseigenschaften des ADFS-Dienstes auf die SQL-Datenbank zu tun. Dazu benötigt man eine aktive Verbindung zum SQL Server via SQL Server Management Studio. Der ADFS-Dienst sollte beendet sein.

Während der Erstinstallation wurde bei der Standardsprache “German” eingestellt. Die Sprache des Betriebssystem scheint unabhängig zu sein. Jedenfalls arbeitet der ADFS-Dienst mit Englisch und erwartet ebenfalls die gleiche Anmeldesprache am SQL-Server.

sql_managementstudio_adfs-user_language

Somit muss im SQL Server Management Studio der ADFS-Dienstbenutzer aufgerufen und entsprechend abgeändert werden. Danach den ADFS-Dienst starten und jede zukünftige Änderung wird schneller und ohne Problem erfolgen.

Andyt

Ich bin Blogger, Sporttaucher, Roadster-Fahrer und interessiere mich für Technik. Übrigens, folgen Sie mir auf verschiedenen sozialen Netzwerken oder abonniere meinen Blog.

Dieser Beitrag hat einen Kommentar

  1. Rollin

    Thank you, This is helping me today a have the same issue with French version of SQL. No documentation found any way about this

Schreibe einen Kommentar