WSMan TrustedHosts配置无效:特定AD OU服务器PowerShell远程权限问题
解决PowerShell远程限制特定计算机连接的问题
我之前也踩过TrustedHosts的坑,你肯定是搞反了它的作用范围!先给你理清逻辑,再给你正确的配置方法:
为什么TrustedHosts设置无效?
首先明确:TrustedHosts是客户端侧的配置,不是服务器侧的!它的作用是:当客户端要连接的目标服务器不在域环境、或者没有可信的SSL证书时,让客户端信任这个服务器的身份。你在服务器上设置TrustedHosts,完全不会限制哪些客户端能连进来——这就好比你在自己家门上贴了“我信任张三”,但这不等于只有张三才能进你家,而是你去张三家的时候会信任他家的门。
正确的服务器侧限制方法(用组策略)
既然你已经用组策略给目标OU的服务器启用了PowerShell远程,接下来直接在同一个GPO里添加限制规则:
1. 通过WinRM服务策略限制允许连接的计算机
- 打开组策略管理控制台,编辑目标OU对应的GPO
- 导航到:
计算机配置 > 管理模板 > Windows组件 > Windows Remote Management (WinRM) > WinRM服务 - 找到**「允许远程服务器管理通过WinRM」**策略,双击启用它
- 在「允许的计算机」输入框中,添加你授权的特定计算机:
- 可以直接写计算机名(比如
DESKTOP-ABC123)、IP地址,或者更灵活的用计算机安全组(比如DOMAIN\AllowedPSRemotingComputers$,注意计算机组要加$后缀) - 多个条目用逗号分隔
- 可以直接写计算机名(比如
2. (可选但推荐)用防火墙规则加固
为了双重保险,你可以在同一个GPO里配置防火墙入站规则:
- 导航到:
计算机配置 > Windows设置 > 安全设置 > Windows Defender防火墙 > 高级安全 > 入站规则 - 找到「Windows Remote Management (HTTP-In)」规则(如果用HTTPS则找对应的HTTPS规则)
- 双击编辑规则,切换到「作用域」选项卡
- 在「远程IP地址」区域选择「下列IP地址」,添加允许连接的客户端IP范围或特定IP
验证配置是否生效
- 在目标服务器上运行
gpupdate /force刷新组策略 - 查看WinRM的服务配置:
检查输出中的Get-WSManInstance -ResourceURI winrm/config/service -EnumerateAllowedHosts字段,应该显示你添加的授权计算机/组 - 从非授权的计算机尝试连接,应该会收到类似「访问被拒绝」的错误提示
内容的提问来源于stack exchange,提问作者Darkwasp




