gpt4 book ai didi

Powershell winrm 可信主机不工作

转载 作者:行者123 更新时间:2023-12-03 12:31:49 28 4
gpt4 key购买 nike

我正在尝试在几台机器上设置远程管理。我可以从我的计算机在远程机器上成功执行命令,但我不希望任何人能够这样做。

我尝试在远程计算机上设置受信任的主机,并重新启动服务,但它似乎没有做任何事情。

例如,在远程机器上:

 winrm set winrm/config/client '@{TrustedHosts="someIncorrectName"}'

然后我重新启动 winrm 服务。

为什么我仍然可以从我的笔记本电脑运行远程命令?它不应该阻止命令被执行吗?

我正在按以下方式运行命令:
Invoke-Command -cn remoteMachine -Credential $cred -scriptblock {get-process}

$cred 是使用 get-credential 域/用户名生成的。

我已经阅读了一些关于 TrustedHosts 的内容,他们似乎对它的作用给出了相互矛盾的报告。有些人似乎说它会阻止命令在未列入受信任主机列表的计算机上执行。其他人说这是可以在该机器上运行命令的计算机列表。

MSDN 说:“指定受信任的远程计算机列表。”这似乎意味着它是第二个选项(可以在机器上执行命令的计算机列表)。

我究竟做错了什么?

谢谢

最佳答案

TrustedHosts 不会做您认为它会做的事情。与 Unix .rhosts 不同,此设置适用于 PowerShell 客户端,而不是远程服务器端点。这就是为什么它可以在以下位置找到:

WSMan:\localhost\Client

如果它与听众相关,它会在 Service 下。节点。

正如另一个答案所涉及的那样,这通常用于非域或混合环境中,以防止您的客户端向不受信任的远程计算机发送 NTLM 质询响应或基本身份验证尝试。为什么?因为远程流氓服务器可能会捕获此信息并使用它来破坏您的网络。当您处于混合环境中时,唯一可用的保护是 SSL,许多人可能会选择通过 AllowUnencrypted = $false 禁用它。 ,再次在 Client WSMAN的节点驾驶。

那么,如何限制传入连接?您现在应该已经建立了连接并开始查看 WSMAN:\localhost\Service远程服务器上的节点。如果你这样做,你会看到:
   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service

Type Name SourceOfValue Value
---- ---- ------------- -----
System.String RootSDDL ...
System.String MaxConcurrentOperations 4294967295
System.String MaxConcurrentOperationsPerUser 1500
System.String EnumerationTimeoutms 240000
System.String MaxConnections 300
System.String MaxPacketRetrievalTimeSeconds 120
System.String AllowUnencrypted false
Container Auth
Container DefaultPorts
System.String IPv4Filter *
System.String IPv6Filter *
System.String EnableCompatibilityHttpList... false
System.String EnableCompatibilityHttpsLis... false
System.String CertificateThumbprint
System.String AllowRemoteAccess true

现在,查看此列表,您将看到一些相关命名的属性,例如 IPv4FilterIPv6Filter .猜猜这些是做什么的 ;-)

关于Powershell winrm 可信主机不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12110355/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com