按照一般流程建立完 winrm 之後在連線的時候發生了一個錯誤
Enter-PSSession : 連線到遠端伺服器 192.168.1.1 失敗,傳回下列錯誤訊息: WinRM 用戶端無法處理該要求。若驗證配置與 Kerberos 不同,或是用戶端電腦沒有加入網域, 則必須使用 HTTPS 傳輸,或是將目標電腦新增到 TrustedHosts 組態設定中。 請使用 winrm.cmd 來設定 TrustedHosts。請注意,可能不會驗證在 TrustedHosts 清單中的電腦。 您可以執行下列命令,以取得相關的詳細資訊: winrm help config。 如需詳細資訊,請參閱 about_Remote_Troubleshooting 說明主題。
發現原來兩台電腦在沒有建立網域的狀態底下會需要使用 HTTPS 連線,所以連線指令要改成
Enter-PSSession 192.168.1.1 -Credential (Get-Credential) -UseSSL
然後又發生了另一個錯誤
Enter-PSSession : [192.168.1.1] 連線到遠端伺服器 192.168.1.1 失敗,傳回下列錯誤訊息: 用戶端無法連線到要求中指定的目 的地。 請確定目的地上的服務正在執行並接受要求。 請參閱在目的地 (最常見的是 IIS 或 WinRM) 上執行 WS-Management 服務的記 錄與文件。 如果目的地是 WinRM 服務,請在目的地執行下列命令來分析和設定 WinRM 服務: "winrm quickconfig". 如需詳細資訊, 請參閱 about_Remote_Troubleshooting 說明主題。
看起來應該是被控端沒有建立 SSL 的憑證及連線,所以原本的流程要重新做一下調整
-
開啟 winrm 設定
winrm quickconfig
-
建立憑證
New-SelfSignedCertificate -DnsName "HOSTNAME/IP","FQDN"
-
建立 winrm ssl 連線 (這邊要注意必須使用 CMD 不能使用 powershell)
winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="HOSTNAME/IP";CertificateThumbprint="憑證產生的thumbprint"}
-
重新啟動 winrm
Restart-Service WinRM
再重新登入一次
Enter-PSSession 192.168.1.1 -Credential (Get-Credential) -UseSSL
這個時候會出現另一個錯誤訊息
Enter-PSSession : 連線到遠端伺服器 192.168.1.1 失敗,傳回下列錯誤訊息: 目的電腦 (192.168.1.1:5986) 上的伺服器憑證 具有下列錯誤: 該 SSL 憑證是由不明的憑證授權單位所簽署。 如需詳細資訊,請參閱 about_Remote_Troubleshooting 說明主題。
訊息上面解釋自發的憑證為不明的授權單位,所以無法認證
因此如果是自發憑證我們就使用另一個參數來略過檢查
Enter-PSSession -computername 192.168.1.1 -Credential (Get-Credential) -UseSSL -SessionOption (New-PsSessionOption -SkipCACheck)
然後這樣就可以連接成功了