為了在使用 Horizon Cloud 時讓使用者能以 Single Sign-On (SSO) 存取其桌面和應用程式,請在相應的 Horizon Edge Gateway 執行個體上管理 SSO。
此程序可讓使用者只需輸入一次憑證後,即可存取其桌面和應用程式。
如需設定 Omnissa CA 的背景資訊,請參閱在 Horizon Cloud 中使用 Omnissa CA 進行 SSO。
請視需要參閱 Microsoft 說明文件,以完成此程序。例如,若要安裝企業 CA,請參閱安裝憑證授權機構。
先決條件
-
使用 Horizon Universal Console 建立並下載憑證授權機構 (CA) 服務包。請參閱將 SSO 組態新增至 Horizon Cloud (適用於 Omnissa CA)。
-
若要執行從 Omnissa CA 服務包解壓縮的 PowerShell 指令碼 (如本程序所述),請確認您具有適當的權限。
此程序要求您執行 Omnissa PowerShell 指令碼。您有幾個選項可以執行此 PowerShell 指令碼,包括以「企業管理員」群組成員的身分執行該指令碼。以下的指引會建議您使用較低的權限,但是您可以用「企業管理員」群組成員身分來執行指令碼。這裡的建議是先確認您具備下列權限。
- 對 Active Directory 中的「公開金鑰服務」容器具有完整控制權。
- 對 Active Directory 中的「SubCA」憑證範本具有註冊權限。
程序
-
連線至網域成員機器,將 Omnissa CA 服務包檔案上傳至伺服器,並解壓縮檔案內容。
只要您具有適當的權限,就可以從任何網域成員機器執行 Omnissa PowerShell 指令碼。
-
開啟 PowerShell,執行命令,並依照後續子步驟的說明回應提示。
**重要:**如果您的部署包含多個網域控制站,或您從遠端機器安裝服務包,CA 憑證在所有網域控制站之間的傳播可能需要數小時。您可以在所有網域控制站執行個體上執行
'gpupdate.exe /Target:Computer /Force',來縮短執行時間。-
執行下列命令。
Unblock-File -Path Path to ps1 file -
執行從 CA 服務包解壓縮的
ps1PowerShell 指令碼,並回應提示。例如,
PS C:\ca\AuthEngine-CA_1> .\AuthEngine-CA_1.ps1如果您將 SSO 組態新增為中繼 CA,系統會提示您選取 MSFT 企業 CA 以簽署 Omnissa CA CSR。您可以選擇根 CA 或中繼 MSFT 企業 CA 來處理 Omnissa CA CSR。如果適用的話,請選取適當的企業 CA。您必須為所選的企業 CA 啟用從屬憑證授權機構範本。
在下列必要的確認提示中,輸入
Y回應,如範例所示。Confirmation required Do you want to publish to AD?N] No [Y] Yes [?] Help (default is "N"):``Y
-
結果
預期的結果是指令碼執行時不會發生錯誤。但是,如果遇到下列類型的錯誤,請執行所提供的疑難排解建議。
2022-03-22T15:35:39 [INFO ] [AuthEngine-CA-62351bb62ff3dd5966ad3575-1.ps1,67] certutil.exe -dspublish -f C:\SSO-C\
AuthEngine-CA-62351bb62ff3dd5966ad3575-1.crl
error : 2022-03-22T15:35:39 [ERROR][-2147016563][] Failed to publish base CRL
At C:\SSO-C\AuthEngine-CA-62351bb62ff3dd5966ad3575-1.ps1:303 char:5
+ error $retCode "Failed to publish base CRL"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,error
執行以下 Get-ADRootDSE 命令並檢查輸出,看看用來建立 SSO 組態的 CA 組態網域名稱,是否與下列內容所傳回的內容相符:configurationNamingContext。
C:>
Get-ADRootDSE -Server dnsDomainName
例如,C:\> Get-ADRootDSE -Server horizonv2.local
輸出:
configurationNamingContext : "CN=Configuration,DC=horizonv2,DC=local"
...other
output fields...
如果 CA 組態網域名稱與輸出不符,您可以使用 Horizon Universal Console 編輯 SSO 組態,以更正 CA 組態網域名稱。如需存取 SSO 組態的相關資訊,請參閱將 SSO 組態新增至 Horizon Cloud (適用於 Omnissa CA)。若要編輯 SSO 組態,請按一下 SSO 組態旁的三個垂直點,然後選取編輯。更正網域名稱後,您可以下載並發佈已更新的 CA 服務包。
後續步驟
在部署 Horizon Edge Gateway 後,請驗證 SSO 組態狀態是否正確設定。在 Horizon Universal Console 中,按一下容量,選取您所設定的 Horizon Edge Gateway 執行個體名稱,並編輯組態以啟用使用 SSO 選項。選取要與 Horizon Edge Gateway 建立關聯的 SSO 組態。儲存並確認該狀態已設為 READY_TO_SERVE,表示 SSO 對使用者已可正常運作。
從 Active Directory 移除已發佈的服務包
為了支援服務包清理,AD 管理員可以使用 dspublish 指令碼的下列命令列選項,從 Active Directory 解除安裝先前安裝的 CA 服務包。這些選項需要 AD 管理員輸入 CA 憑證指紋以確認解除安裝服務包。然而,這些命令列選項在解除安裝之前不會檢查服務包是否正在使用中。在執行任何解除安裝命令之前,請務必確認該服務包未被使用,因為命令列選項不會進行該驗證。
-uninstallAll
-uninstall
以下顯示同時適用於這兩種選項的命令列範例:
-.\AuthEngine-CA-653a8ec615d61616b629de15-1.ps1 -Uninstall
-.\AuthEngine-CA-653a8ec615d61616b629de15-1.ps1 -UninstallAll
請注意,PS 指令碼名稱 (例如 653a8ec615d61616b629de15-1) 對每個客戶而言都不相同。
此頁面對您有幫助嗎?