您好
您在使用 Enter-PSSession 時遇到的這個錯誤,通常是因為 WSMAN 服務所需要的 服務主體名稱(SPN) 遺失,或尚未正確註冊。沒有正確的 SPN 時,Kerberos 無法驗證遠端主機,因此 WinRM 會拒絕連線要求。
您可以使用 setspn 命令來修正這個問題。例如,在目標伺服器上執行:
setspn -s HTTP/<servername> <domain>\<computeraccount>
setspn -s WSMAN/<servername> <domain>\<computeraccount>
請將 <servername> 替換為伺服器的實際完整網域名稱(FQDN),並將 <computeraccount> 替換為該電腦在 Active Directory 中的電腦帳戶名稱。
其中 -s 參數會先檢查是否已有相同的 SPN,可以避免建立重複的 SPN。
完成 SPN 註冊後,可以執行以下命令清除目前快取的 Kerberos Ticket:
klist purge
然後再次嘗試建立 PowerShell 遠端工作階段。
另外,也請確認 DNS 可以正常解析目標伺服器,而且您連線時使用的伺服器名稱,與註冊 SPN 時使用的名稱完全一致。例如,短名稱和 FQDN 不一致,就可能導致 Kerberos 仍然無法正常驗證。
希望以上說明對您有所幫助。如果您認為此回答有用,請點選 「接受答案(Accept Answer)」,讓我知道這項回覆是否解決了您的問題。
Jason