Hat man in einer ADFS-Testumgebung Claim Rules entwickelt und erfolgreich getestet, so will man diese zum Abschluss ins Produktionssystem übertragen. Leider bietet das GUI keine einfache Möglichkeit dazu – dort ist der simpelste Weg, die Claim-Rule-Übersichten nebeneinander zu öffnen und jede Regel einzeln per Copy & Paste zu übertragen. Geht, aber nicht schön.
Natürlich ist das per PowerShell einfacher. Der größte Aufwand besteht darin, herauszufinden, wie das wohl geht. Wie immer bei ADFS ist das ganz gruselig dokumentiert. Daher hier eine kleine Anleitung.
Regeln aus dem Testsystem exportieren
Die Claim Rules sind in der PowerShell-Logik eine Eigenschaft des Relying Party Trusts und finden sich in dem Attribut IssuanceTransformRules. So gibt man sie in eine Datei aus:
(Get-AdfsRelyingPartyTrust –Name <MeinRelyingPartyTrust>).IssuanceTransformRules | Out-File 'C:\Daten\MyRules.txt'
Die Datei enthält dann für jede Regel den Namen und den Regeltext. Die Reihenfolge entspricht der in der ADFS-Konfiguration.
Regeln ins Produktionssystem importieren
Das Gegenstück zum Export erfordert zwei Schritte. Der erste liest die Regeln aus der Datei, der zweite fügt sie dem Zielobjekt hinzu.
$RuleSet = New-AdfsClaimRuleSet -ClaimRuleFile 'C:\Daten\MyRules.txt' Set-AdfsRelyingPartyTrust –TargetName '<MeinRelyingPartyTrust>' -IssuanceTransformRules $RuleSet.ClaimRulesString
Das Miniskript in eine PowerShell ISE einfügen, die als Admin läuft. Ausführen mit F5. Fertig.
http://faq-o-matic.net/?p=8001