共用方式為


無法在Microsoft僅限項目聯結的機器之間建立使用 WinRM 的 PowerShell 遠端會話

本文有助於解決使用 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 收集資訊中針對使用者體驗問題收集資訊中所述的步驟來收集資訊。