美文网首页
WinRM HTTP配置实例

WinRM HTTP配置实例

作者: GoldenRoad | 来源:发表于2024-09-04 22:45 被阅读0次

一、基本环境

远程主机(被控主机):192.168.6.211 Windosw 11 Pro

本地主机(控制主机):192.168.6.186 Windows 11 Pro

二、远程主机配置

1、以Windows系统管理员身份运行PowerShell。

2、执行如下命令查看基于HTTP的WinRM是否开启。

winrm enumerate winrm/config/listener

如果存在报错信息,则表示WinRM服务未开启,请执行3。

如果不存在报错信息,则表示WinRM服务已开启,请执行4。

3、执行 winrm quickconfig 执行快速配置以开启WinRM服务。

4、配置认证方式

winrm get winrm/config/service/auth

如果Basic = false,则将其设置为true。设置方法:winrm set winrm/config/service/auth '@{Basic="true"}'

图1.配置认证方式

5、配置加密方式为允许非加密传输。

先查看配置是否正确:winrm get winrm/config/service

如果 AllowUnencrypted = false,则需要将其参数改为true,修改方法:winrm set winrm/config/service '@{AllowUnencrypted="true"}'

图2.配置加密方式

6、验证

执行 winrm e winrm/config/listener ,查看返回值,输出结果有HTTP的“Listener”且“Enabled”为“true”,则为开启状态。

图3.验证

三、客户端配置

在本地主机上,启动Powershell,例如对远程主机通过WinRM开启交互式命令窗口cmd.exe

winrs -r:http://192.168.6.211:5985 -u:远程主机用户名 -p:远程主机用户密码 cmd

如果报错:Winrs error:WinRM 客户端无法处理该请求。如图所示。

图4.客户端报错

说明没有将远程主机配置到客户端的信任主机列表,只有在客户端的信任主机列表中,才允许进行非加密通信

在本地主机的Powershell窗口中执行 Set-Item WSMan:\localhost\Client\TrustedHosts -Value '192.168.6.211' -Concatenate

这样就将192.168.6.211这台远程主机加入到客户端的信任列表中了。

另外一种设置方法:

在本地主机的Powershell窗口中执行 winrm set winrm/config/Client '@{TrustedHost="*"}'

这样就视任意目标都为可信主机了,当然也可以把*换成IP地址。

再次执行,成功!

四、特殊注意

1、远程登录用户限制

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

LocalAccountTokenFilterPolicy = 0,则只允许系统默认的administrator登录,即SID中RID=500的用户。如果需要允许其他存在于administrators组成员登录,需要将这个值改为1

图5.远程登录用户限制

2、远程主机(被控主机)开启WinRM HTTP模式,网络区域位置需要选择为专有,但一定不可以是公共区域。

修改网络区域位置方法

Powershell管理员登录,输入 Get-NetConnectionProfile 查询网络区域位置

图7.网络区域位置

确保你连接使用的网卡所在区域为Private,而不是Public。

修改方法:Set-NetConnectionProfile -Name "NetworkName" -NetworkCategory Private

相关文章

网友评论

      本文标题:WinRM HTTP配置实例

      本文链接:https://www.haomeiwen.com/subject/hurrljtx.html