本文有助於解決使用 Windows 遠端管理 (WinRM) 的 PowerShell 遠端會話無法在只加入至 Microsoft Entra ID 的電腦之間建立的問題。
您在相同的網路上有兩部機器。 它們不會加入本機網域,而且只會加入沒有內部部署同步處理的Microsoft Entra標識符。
當您嘗試在兩部機器之間使用 WinRM 建立 PowerShell 遠端工作階段時,您會收到下列錯誤訊息:
-
Enter-PSSession :連線到遠端伺服器CLIENT01失敗,並出現下列錯誤訊息:WinRM 用戶端無法處理要求。 如果驗證配置與 Kerberos 不同,或用戶端電腦未連結至網域,則必須使用 HTTPS 傳輸,或目的地電腦必須新增至 TrustedHosts 組態設定。 使用 winrm.cmd 來設定 TrustedHosts。 請注意,TrustedHosts 清單中的電腦可能沒有通過驗證。 您可以執行下列命令來取得該相關信息:winrm 說明設定。如需詳細資訊,請參閱about_Remote_Troubleshooting說明主題。
-
Enter-PSSession :連線到遠端伺服器CLIENT01失敗,並出現下列錯誤訊息:WinRM 無法處理要求。 使用交涉驗證時發生錯誤碼0x8009030e發生下列錯誤:指定的登入會話不存在。 可能已遭到終止。
可能的原因包括:
-指定的使用者名稱或密碼無效。
未指定驗證方法且未指定使用者名稱時,會使用 -Kerberos。
-Kerberos 接受功能變數名稱,但不接受本機用戶名稱。
-遠端電腦名稱和埠的服務主體名稱 (SPN) 不存在。
-用戶端和遠端計算機位於不同的網域中,且兩個網域之間沒有信任。
檢查上述問題之後,請嘗試下列動作:
-檢查 事件檢視器 是否有與驗證相關的事件。
-變更驗證方法;將目的地電腦新增至 WinRM TrustedHosts 組態設定或使用 HTTPS 傳輸。
請注意,TrustedHosts 清單中的電腦可能沒有通過驗證。
-如需 WinRM 組態的詳細資訊,請執行下列命令:winrm 說明設定。如需詳細資訊,請參閱about_Remote_Troubleshooting說明主題。
發生此問題的原因是下列其中一個原因:
- WinRM 會將僅限 Entra 的Microsoft計算機視為工作組計算機。 因此,無法使用隱含認證。
- WinRM 預設服務主體名稱 (SPN) 前置詞 HTTP 會防止Microsoft Entra 驗證。
無法使用隱含認證
若要解決此問題,請設定 TrustedHosts
值,如下所示:
值 | Description |
---|---|
* |
此值允許重複使用所有目標計算機的隱含認證。 |
*.contoso.com |
此值會將認證使用限制為特定網域的計算機。 |
例如,您可以使用下列其中一種方式將 值設定 TrustedHosts
為 *.contoso.com
:
PowerShell Cmdlet:
set-item WSMan:\localhost\Client\TrustedHosts "*.contoso.com"
命令提示字元:
winrm s winrm/config/client @{TrustedHosts="*.contoso.com"}
從命令提示字元新增登錄專案:
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Client /v trusted_hosts /t REG_SZ /d "*.contoso.com" /f
默認 SPN 前置詞 HTTP 可防止Microsoft Entra 驗證
若要解決此問題,請執行下列命令,將預設 SPN 前置詞設定為 HOST
:
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Client /v spn_prefix /t REG_SZ /d "HOST" /f
資料收集
如果您需要Microsoft支援方面的協助,建議您遵循使用 TSS 收集資訊中針對使用者體驗問題收集資訊中所述的步驟來收集資訊。