Der folgende Beitrag zeigt die Migrationsschritte um von ADFS 3.0 auf ADFS 5.0 (mit Web Application Proxy) zu wechseln. Das Ganze soll ohne Unterbruch durchgeführt werden und die Anmeldung muss jederzeit möglich bleiben. Als Datenbank wird die standartmässige Windows Internal Database verwendet.
Der Ablauf
- Installation der neuen Server (ADFS und WAP) mit Windows Server 2019
- Migration der Primary Rolle auf den neuen Server, alter Server wird Secondary
- Entfernen der alten Server aus der Farm
- Anheben des Farm Levels
1. Installation der neuen Server
Die neuen Server werden parallel zu den alten (Virtualisierung zeigt hier einmal mehr seine Vorteile) installiert. Anschliessend muss sowohl auf den ADFS, wie auch den WAP Server das entsprechende Zertifikat im Personal Store der Local Machine hinterlegt werden.

Achtung: Das Zertifikat muss exakt dasselbe wie auf dem alten Server sein (Thumbprint muss übereinstimmen) und der ADFS Service Account muss Leserechte auf dem Private Key des Zertifikates besitzen
Anschliessend wird die Active Directory Federation Services Rolle installiert, wahlweise via Server Manager oder Powershell.
Add-WindowsFeature ADFS-Federation -IncludeManagementTools
Der neue ADFS Server wird als zusätzlicher Node der Farm hinzugefügt. Hierfür kann wieder der Wizard aus dem Server Manager oder Powershell genutzt werden. Im nachfolgenden Powershell Beispiel nutze ich einen Group Managed Service Account, welchen ich vorgängig auf dem neuen Server installiert habe. Die Dokumentation zum Cmdlet ist hier: Add-AdfsFarmNode (ADFS) | Microsoft Docs
Add-AdfsFarmNode -PrimaryComputerName vFED -GroupServiceAccountIdentifier "irbe\adfs$" -Credential (Get-Credential -Message "Domain Admin Creds") -CertificateThumbprint 0000B07046001C5270F1E706D2218C7D9B303471
Anschliessend kann der neue WAP Server in Betrieb genommen werden. Dazu muss ebenfalls das Zertifikat unter Local Machine installiert werden. Schliesslich wird die Rolle hinzugefügt und WAP konfiguriert
Add-WindowsFeature Web-Application-Proxy -IncludeManagementTools
Install-WebApplicationProxy -FederationServiceName adfs.irbe.ch -CertificateThumbprint 0000B07046001C5270F1E706D2218C7D9B303471 -FederationServiceTrustCredential (Get-Credential -Message "ADFS Local Admin Creds")
Jetzt wäre eine Möglichkeit den Traffic auf den neuen WAP Server umzuleiten, je nachdem wie die Infrastruktur aufgebaut ist, via DNS Eintrag oder Load Balancer
2. Migration der Rollen
Nun werden die primary und secondary Rollen der beiden ADFS Server getauscht. Dazu wird auf dem neuen Server folgende Zeile in Powershell ausgeführt
Set-AdfsSyncProperties -Role PrimaryComputer
und auf dem alten Server folgende Zeile in Powershell ausführen
Set-AdfsSyncProperties -PrimaryComputerName vFED01 -Role SecondaryComputer
Wenn nun auf dem alten Server die AD FS Management Konsole geöffnet wird, darf die Konfiugration nicht mehr möglich sein und die Mitteilung muss erscheinen, dass die Konfiguration nur auf dem Primary Computer änderbar ist.
3. Alte Server entfernen
Als erstes wird der alte ADFS Server von der Farm entfernt. Dazu muss die ADFS Rolle vom Server entfernt werden, wahlweise wieder via Server Manager oder Powershell. Anschliessend kann der Server abgebaut werden.
Remove-WindowsFeature ADFS-Federation -IncludeManagementTools
Vor dem entfernen der Web Application Proxy Rolle auf dem alten WAP Server unbedingt sicherstellen, dass die Kommunikation bereits über den neuen WAP Server läuft.
Remove-WindowsFeature Web-Application-Proxy -IncludeManagementTools
4. Anheben des Farm Levels
Der aktuelle Farm Behavior Level kann mit folgender Powershell Zeile abgefragt werden
Get-AdfsProperties | Select CurrentFarmBehavior
Sobald alle Farm Nodes auf der gleichen höheren Version (hier 5.0 durch Windows Server 2019) sind kann der Farm Behavior Level angehoben werden. Dies geschieht wiederum mit Powershell
Invoke-AdfsFarmBehaviorLevelRaise
Zur Kontrolle wird eine Meldung ausgegeben, welche darauf hinweist, welche Nodes nach dem Anheben noch Teil der Farm sind. Gegebenfalls muss anschliessend der ADFS Service Account manuell zu der Enterprise Key Admins Gruppe hinzugefügt werden.
Damit ist der Upgrade von ADFS 3.0 auf ADFS 5.0 ohne Unterbruch abgeschlossen. Natürlich sollte am Ende nochmals getestet werden ob alles funktioniert und etwaige Leichen wie Load Balancer oder DNS Einträge auf die alten ADFS und WAP Server aufgeräumt werden.