仅允许从一个地址进行 PowerShell 远程访问

仅允许从一个地址进行 PowerShell 远程访问

我必须管理一个由大约 60 台 Windows 计算机组成的学校网络,这些计算机设置为工作组计算机,而不是域计算机。为了简化配置,我将在所有计算机上启用 PowerShell 远程处理。(我知道 Enable-PSRemoting 以及如何进行一般设置)为了尽可能地限制安全风险,只能从具有特定 IP 地址的管理 PC 远程处理这些计算机。

考虑这个例子:

Computer 1: only accepts remoting connection from admin, not from computer 2
Computer 2: only accepts remoting connection from admin, not from computer 1
Admin computer: can remote on all computers

我不确定如何在计算机上设置 Windows 防火墙以仅允许来自一个 IP 地址的 WinRM 协议流量。整个网络设置为“私有”。

有人可以帮我启用正确的防火墙规则吗?

答案1

正如本文所解释的那样:仅为指定的一组 IP 地址启用 PowerShell 远程处理

(对于每个客户端 pc1/pc2/pc...)您必须:

enable-psremoting

下一步:删除由创建的 winrm-listenerenable-psremoting

Remove-WSManInstance winrm/config/Listener -SelectorSet @{Address="*";Transport="http"}

现在机器不再监听任何人,所以你必须为行政-客户

New-WSManInstance winrm/config/Listener -SelectorSet @{Address="IP:10.11.12.13";Transport="http"}

现在重新启动 winrm 服务

spsv winrm -pass | sasv -pass |gsv   #*

(您必须以管理员身份运行 PowerShell)

\*
*spsv = stop-service // sasv = start-service // gsv = get-service // -pass = -passThrough*

答案2

也许 Powershell“受信任主机”列表是您想要的?
如果您不在受信任主机列表中,则无法远程访问计算机

以管理员身份启动 Powershell 控制台

运行此命令:

get-item wsman:\localhost\client\trustedhosts

“值”必须是管理客户端的 IP 地址或名称。要设置此值,请运行:

set-item wsman:\localhost\client\trustedhosts 192.168.1.2

(如果已经有一个值或者您必须管理客户端:

set-item wsman:\localhost\client\trustedhosts -concatenate admin02pcName

) 当然,可以使用通配符,
您可以使用get-item和使用和使用缩写giset-itemsi-concatenate-concat

相关内容