無法更新ADFS憑證失敗 出現PS0317錯誤訊息 ADFS 4.0 and powershell issue with Set-AdfsSslCertificate

在客戶端更新ADFS憑證時失敗
根據一般操作教學
除了在ADFS設定中更換憑證以外
還需要在POWERSHELL中下指令
PS C:\Windows\system32> Set-AdfsSslCertificate -Thumbprint ‎‎8cb15fc534e055e627cdd85167a31b85db6a2e4e
但出現以下訊息


Set-AdfsSslCertificate : PS0317: 在執行命令 'Set-AdfsSslCertificate' 期間,一或多部 AD FS 伺服器傳回錯誤。錯誤資訊: PS0

316: AD FS 伺服器: 'localhost',錯誤: '連線到遠端伺服器 localhost 失敗,傳回下列錯誤訊息: WinRM 無法處理該要求。使用 Ne

gotiate 驗證時發生下列錯誤,錯誤碼為 0x80090322: 發生不明的安全性錯誤。

 可能的原因為:

  -指定的使用者名稱或密碼不正確。

  -在未指定驗證方法和使用者名稱的情況下使用 Kerberos

  -Kerberos 接受網域使用者名稱,但不接受本機使用者名稱。

  -遠端電腦名稱及連接埠的服務主體名稱 (SPN) 不存在。

  -用戶端及遠端電腦位於不同的網域中,而且這兩個網域之間沒有信任關係。

 在檢查過上述問題之後,請嘗試下列動作:

  -在事件檢視器中,檢查與驗證相關的事件。

  -變更驗證方法; 將目的電腦新增至 WinRM TrustedHosts 組態設定,或是使用 HTTPS 傳輸。

 請注意,可能不會驗證在 TrustedHosts 清單中的電腦。

   -如需 WinRM 設定的詳細資訊,請執行下列命令: winrm help config 如需詳細資訊,請參閱 about_Remote_Troubleshooting

明主題。'

位於 線路:1 字元:1

+ Set-AdfsSslCertificate -Thumbprint ‎‎8cb15fc534e055e627cdd85167a31b85 ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [Set-AdfsSslCertificate], RemoteException

    + FullyQualifiedErrorId : RuntimeException,Microsoft.IdentityServer.Management.Commands.SetSslCertificateCommand

 

經過爬文後
原因是SSL憑證已被占用需要手動更換

在powershell中進行以下步驟

1.使用Get-AdfsSslCertificate看目前有哪些憑證

先手動刪除SSL綁定

netsh http delete sslcert hostnameport=adfs.mail.mirdc.org.tw:443

netsh http delete sslcert hostnameport=localhost:443

netsh http delete sslcert hostnameport=adfs.mail.mirdc.org.tw:49443

2.取得憑證指紋

使用MMC打開新的憑證

取得憑證指紋

 

3.執行netsh指令進行SSL綁定新的憑證(黃色的部分請記得換成你的資訊)

netsh 

http

 netsh http>add sslcert hostnameport=adfs.mail.mirdc.org.tw:443 certhash=8cb15fc534e055e627cdd85167a31b85db6a2e4e appid={5d89a20c-beab-4389-9447-324788eb944a} certstorename=MY clientcertnegotiation=disable

 

SSL 憑證新增成功

 

netsh http>add sslcert hostnameport=adfs.mail.mirdc.org.tw:49443 certhash=8cb15fc534e055e627cdd85167a31b85db6a2e4e appid={5d89a20c-beab-4389-9447-324788eb944a} certstorename=MY clientcertnegotiation=disable

 

SSL 憑證新增成功

 

netsh http>add sslcert hostnameport=localhost:443 certhash=8cb15fc534e055e627cdd85167a31b85db6a2e4e appid={5d89a20c-beab-4389-9447-324788eb944a} certstorename=MY clientcertnegotiation=disable

 

SSL 憑證新增成功

 4.重啟ADFS服務


下Get-AdfsSslCertificate


看到新的憑證HASH以綁定hostname
測試ADFS驗證 確認憑證已經更新
 
footer See also :

留言

這個網誌中的熱門文章

Office 2021 離線安裝封裝與KMS啟動步驟

Ollama使用心得與模型導入教學

ARC下NSMutableDictionary 無法使用retainCount