使用 SQL Server 升級至 Windows Server 2016 中的 AD FS
重要
Microsoft 強烈建議遷移到 Microsoft Entra ID,而不是升級為最新版 AD FS。 如需詳細資訊,請參閱解除委任 AD FS 的資源
注意
只開始升級,並規劃完成明確的時間範圍。 不建議將 AD FS 保持在混合模式狀態一段時間,因為讓 AD FS 處於混合模式狀態可能會造成伺服器陣列的問題。
將 Windows Server 2012 R2 AD FS 伺服器陣列移至 Windows Server 2016 AD FS 伺服器陣列
本文介紹如何將 AD FS Windows Server 2012 R2 伺服器陣列升級到 Windows Server 2016 中的 AD FS。 當您使用 SQL Server 作為 AD FS 資料庫時,可套用這些步驟。
將 AD FS 升級至 Windows Server 2016 FBL
適用於 Windows Server 2016 的 AD FS 新功能是伺服器陣列行為層級功能 (FBL)。 這項功能是伺服器陣列範圍,可決定 AD FS 伺服器陣列可以使用的功能。 根據預設,Windows Server 2012 R2 AD FS 伺服器陣列中的 FBL 位於 Windows Server 2012 R2 FBL。
Windows Server 2016 AD FS 伺服器可以新增至 Windows Server 2012 R2 伺服器陣列,而且其運作方式與 Windows Server 2012 R2 相同。 對於以這種方式運作的 Windows Server 2016 AD FS 伺服器,您的伺服器陣列稱為「混合」。但是,在 FBL 提升到 Windows Server 2016 之前,新的 Windows Server 2016 功能無法使用。
以下是使用混合伺服器陣列的一些重要功能:
系統管理員可以將新的 Windows Server 2016 同盟伺服器新增至現有的 Windows Server 2012 R2 伺服器陣列。 因此,伺服器陣列處於「混合模式」,並操作 Windows Server 2012 R2 伺服器陣列行為層級。 為了確保整個伺服器陣列的行為一致,無法在此模式中設定或使用新的 Windows Server 2016 功能。
管理員可以從混合模式伺服器陣列中移除所有 Windows Server 2012 R2 同盟伺服器。 在此情境中,一個新的 Windows Serve 2016 同盟伺服器會升級為主要節點角色。 然後,管理員可以將 FBL 從 Windows Server 2012 R2 提升到 Windows Server 2016。 因此,可以設定及使用任何新的 AD FS Windows Server 2016 功能。
AD FS Windows Server 2012 R2 組織想要升級至 Windows Server 2016,不需要部署全新的伺服器陣列、匯出和匯入設定資料。 相反地,可以在線上時將 Windows Server 2016 節點新增至現有的伺服器陣列,而且只會產生與 FBL 引發相關的相對短暫的停機時間。
在混合伺服器陣列模式中,AD FS 伺服器陣列無法執行 Windows Server 2016 中 AD FS 中導入的任何新功能或功能。 想要試用新功能的組織可以在提升 FBL 後進行。 如果您的組織想要在引發 FBL 之前測試新功能,則必須部署個別伺服器陣列。
本文的其餘章節提供將 Windows Server 2016 同盟伺服器新增至 Windows Server 2012 R2 環境的步驟。 這些步驟是在以下架構圖表概述的測試環境中執行。
注意
您必須先移除所有 Windows 2012 R2 節點,才能在 Windows Server 2016 FBL 中移至 AD FS。 您無法將 Windows Server 2012 R2 OS 升級至 Windows Server 2016,也無法使其自動成為 2016 節點。 您必須將其移除,並取代為新的 2016 節點。
如果在 AD FS 中設定 AlwaysOnAvailability 群組或合併式複寫,請在升級之前移除任何 AD FS 資料庫的所有複寫,並將所有節點指向主要 SQL 資料庫。 完成這些工作後,請按照所述執行伺服器陣列升級。 完成升級之後,將 AlwaysOnAvailability 群組或合併式複寫新增至新的資料庫。
下列架構圖顯示用來驗證及記錄以下步驟的設定。
將 Windows 2016 AD FS 伺服器加入 AD FS 伺服器陣列
再伺服器管理員中,在 Windows Server 2016 上安裝 Active Directory 同盟服務角色
在 AD FS 設定精靈中,將新的 Windows Server 2016 伺服器加入現有的 AD FS 伺服器陣列。
在 [歡迎] 畫面上,選取 [新增同盟伺服器至同盟伺服器陣列],然後選取 [下一步]。
在 [連線到 Active Directory 網域伺服器] 畫面上,指定具有執行同盟服務設定權限的系統管理員帳戶,然後點選 [下一步]。
在 [指定伺服器陣列] 畫面上,輸入 SQL Server 和執行個體的名稱,然後選取 [下一步]。
在 [指定 SSL 憑證] 畫面上,指定憑證,然後選取 [下一步]。
在 [指定服務帳戶] 畫面上,指定服務帳戶,然後選取 [下一步]。
在 [檢閱選項] 畫面上,檢閱選項,然後點選 [下一步]。
在 [必要條件檢查] 畫面上,確定所有必要條件檢查都已通過,然後選取 [設定]。
在 [結果] 畫面上,確定伺服器已成功設定,然後選取 [關閉]。
移除 Windows Server 2012 R2 AD FS 伺服器
以下步驟移除 Windows Server 2012 R2 AD FS 伺服器。
注意
當您把 SQL 作為資料庫使用時,不需要使用 Set-AdfsSyncProperties -Role
命令來設定主要 AD FS 伺服器。 在此設定中,所有節點均會視為主要節點。
在 [伺服器管理員] 中,移至 Windows Server 2012 R2 AD FS 伺服器。 在 [管理] 下,選取 [移除角色和功能]:
在 [開始之前] 畫面上,選取 [下一步],然後在 [伺服器選取] 畫面上,選取 [下一步]。
在 [伺服器角色] 畫面上,取消選取 [Active Directory 同盟服務] 選項,然後選取 [下一步]。
在 [功能] 畫面上,選取 [下一步]。
在 [確認] 畫面上,選取 [移除]。
功能移除完成後,請重新啟動伺服器。
提高伺服器陣列行為層級 (FBL)
以下步驟可提高伺服器的 FBL。
重要
在繼續執行本節中的程序之前,請先確認以下必要條件:
確認 Active Directory 環境中樹系和網域的準備程序已完成,且 Active Directory 具有 Windows Server 2016 架構。 本文所述的程序是基於從 Windows 2016 網域控制器啟動的結構。 範例架構不需要本節中的步驟,因為這些工作包含在 AD 安裝程序中。
透過從「設定」執行 Windows 更新來確認 Windows Server 2016 是最新版本。 繼續更新程序,直到不需要進一步更新為止。
確認 AD FS 服務帳戶具有 SQL Server 和 ADFS 伺服器陣列中每部伺服器的系統管理權限。
在 Windows Server 2016 伺服器上,開啟 PowerShell 並執行下列命令:
$cred = Get-Credential
在 SQL Server 上輸入具有系統管理員權限的認證。
在 PowerShell 中輸入下列命令:
Invoke-AdfsFarmBehaviorLevelRaise -Credential $cred
在提示中,選取 [Y] (確認) 以開始提高層級。 作業完成之後,您已成功提升 FBL。
如果您移至 AD FS 管理,您會看到新的節點。
您可以使用 PowerShell Cmdlet
Get-AdfsFarmInformation
來顯示目前的 FBL:
升級現有 WAP 伺服器的設定版本
在每個 Web 應用程式 Proxy 上,在提升權限的視窗中執行下列 PowerShell 命令,以重新設定 WAP:
$trustcred = Get-Credential -Message "Enter Domain Administrator credentials" Install-WebApplicationProxy -CertificateThumbprint {SSLCert} -fsname fsname -FederationServiceTrustCredential $trustcred
執行下列命令從叢集中移除舊伺服器,並只保留執行最新伺服器版本 (先前重新設定) 的 WAP 伺服器:
Set-WebApplicationProxyConfiguration -ConnectedServersName WAPServerName1, WAPServerName2
執行下列命令來檢查 WAP 設定。
ConnectedServersName
值會反映從先前命令執行的伺服器:Get-WebApplicationProxyConfiguration
若要升級 WAP 伺服器的
ConfigurationVersion
,請執行下列 PowerShell 命令:Set-WebApplicationProxyConfiguration -UpgradeConfigurationVersion
再次執行
Get-WebApplicationProxyConfiguration
命令,並確認ConfigurationVersion
是否已升級。