一、基本環(huán)境
遠(yuǎn)程主機(jī)(被控主機(jī)):192.168.6.211 Windosw 11 Pro
本地主機(jī)(控制主機(jī)):192.168.6.186 Windows 11 Pro
二、遠(yuǎn)程主機(jī)配置
1、以Windows系統(tǒng)管理員身份運(yùn)行PowerShell。
2、執(zhí)行如下命令查看基于HTTP的WinRM是否開(kāi)啟。
winrm enumerate winrm/config/listener
如果存在報(bào)錯(cuò)信息,則表示W(wǎng)inRM服務(wù)未開(kāi)啟,請(qǐng)執(zhí)行3。
如果不存在報(bào)錯(cuò)信息,則表示W(wǎng)inRM服務(wù)已開(kāi)啟,請(qǐng)執(zhí)行4。
3、執(zhí)行 winrm quickconfig 執(zhí)行快速配置以開(kāi)啟WinRM服務(wù)。
4、配置認(rèn)證方式
winrm get winrm/config/service/auth
如果Basic = false,則將其設(shè)置為true。設(shè)置方法:winrm set winrm/config/service/auth '@{Basic="true"}'

5、配置加密方式為允許非加密傳輸。
先查看配置是否正確:winrm get winrm/config/service
如果 AllowUnencrypted = false,則需要將其參數(shù)改為true,修改方法:winrm set winrm/config/service '@{AllowUnencrypted="true"}'

6、驗(yàn)證
執(zhí)行 winrm e winrm/config/listener ,查看返回值,輸出結(jié)果有HTTP的“Listener”且“Enabled”為“true”,則為開(kāi)啟狀態(tài)。

三、客戶(hù)端配置
在本地主機(jī)上,啟動(dòng)Powershell,例如對(duì)遠(yuǎn)程主機(jī)通過(guò)WinRM開(kāi)啟交互式命令窗口cmd.exe
winrs -r:http://192.168.6.211:5985 -u:遠(yuǎn)程主機(jī)用戶(hù)名 -p:遠(yuǎn)程主機(jī)用戶(hù)密碼 cmd
如果報(bào)錯(cuò):Winrs error:WinRM 客戶(hù)端無(wú)法處理該請(qǐng)求。如圖所示。

說(shuō)明沒(méi)有將遠(yuǎn)程主機(jī)配置到客戶(hù)端的信任主機(jī)列表,只有在客戶(hù)端的信任主機(jī)列表中,才允許進(jìn)行非加密通信
在本地主機(jī)的Powershell窗口中執(zhí)行 Set-Item WSMan:\localhost\Client\TrustedHosts -Value '192.168.6.211' -Concatenate
這樣就將192.168.6.211這臺(tái)遠(yuǎn)程主機(jī)加入到客戶(hù)端的信任列表中了。
另外一種設(shè)置方法:
在本地主機(jī)的Powershell窗口中執(zhí)行 winrm set winrm/config/Client '@{TrustedHost="*"}'
這樣就視任意目標(biāo)都為可信主機(jī)了,當(dāng)然也可以把*換成IP地址。
再次執(zhí)行,成功!
四、特殊注意
1、遠(yuǎn)程登錄用戶(hù)限制
計(jì)算機(jī)\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
LocalAccountTokenFilterPolicy = 0,則只允許系統(tǒng)默認(rèn)的administrator登錄,即SID中RID=500的用戶(hù)。如果需要允許其他存在于administrators組成員登錄,需要將這個(gè)值改為1。

2、遠(yuǎn)程主機(jī)(被控主機(jī))開(kāi)啟WinRM HTTP模式,網(wǎng)絡(luò)區(qū)域位置需要選擇為專(zhuān)有,但一定不可以是公共區(qū)域。
修改網(wǎng)絡(luò)區(qū)域位置方法
Powershell管理員登錄,輸入?Get-NetConnectionProfile 查詢(xún)網(wǎng)絡(luò)區(qū)域位置

確保你連接使用的網(wǎng)卡所在區(qū)域?yàn)镻rivate,而不是Public。
修改方法:Set-NetConnectionProfile -Name "NetworkName" -NetworkCategory Private