PowerShell 远程处理工作组计算机

PowerShell Remoting to a Workgroup Computer

我正在尝试从我加入域的 PC 远程 powershell 到我们 DMZ 中的服务器,但我不知道如何让它工作。

DMZ 服务器在启用的默认端口 5985 上为 HTTP 配置了一个侦听器。机器中的两个 NIC 都标记为 Public 网络,所以我更改了 Windows 远程管理 (HTTP-In) 防火墙规则 Public 配置文件以接受来自我的 IP 的连接作为已配置的本地子网。

在我的客户端计算机 (Windows 10) 上,我将服务器的主机名添加到 WSMan:\localhost\Client\TrustedHosts 并将 LocalAccountTokenFilterPolicy(值:1,类型:DWORD)添加到注册表。

我用我的服务器本地凭据创建了一个凭据对象 (servername\username),然后我尝试 $Sess = New-PSSession -ComputerName DMZCOMPUTER -Port 5985 -Credential $Cred 连接总是尝试使用 Kerberos 连接到显然无法连接的机器上班。

如果我尝试 $Sess = New-PSSession -ComputerName DMZCOMPUTER -Port 5985 -Credential $Cred -Authentication Basic,我会收到一条错误消息,指出未加密的流量目前已被禁用。其他身份验证方案会产生不同的错误消息,但我从未能够远程。

我是不是在某处缺少配置?使用远程 Powershell 从加入域的客户端连接到工作组服务器需要哪些设置(服务器和客户端)。

首先尝试仅使用您的用户名和密码创建一个凭据对象。跳过尝试在凭据中指定域或服务器名称。

然后尝试使用 IP 地址而不是计算机名称进行连接。您仍然需要将其添加到受信任的主机值中。

最后要使用的是 Test-WSMan 来解决您的问题。提供的错误消息应该给你一个关于问题是什么的强烈提示。

我最终弄明白了,我在做的事情有几个问题。首先 https://blogs.msdn.microsoft.com/wmi/2009/07/24/powershell-remoting-between-two-workgroup-machines/ 的 link 有一些不正确的信息。它指出 LocalAccountTokenFilterPolicy 注册表项应该在客户端计算机上,这是不正确的,它应该在服务器计算机上。

另一个修复只是我是一个笨蛋,在 TrustedHosts 值中使用服务器的 FQDN,然后在尝试创建会话时仅使用主机名。

如果其他人试图让这个工作,请遵循以下步骤:

  1. 运行 Enable-PSRemoting 在服务器机器上
    • 这将启动 WinRM 服务并将其启动设置为自动
    • 它将创建一个 HTTP 侦听器
      • 您可以通过 运行 winrm enumerate winrm/config/listener
      • 来验证
    • 它将启用 Windows 远程管理防火墙规则
    • 它将创建和配置 LocalAccountTokenFilterPolicy 注册表项
    • 它将重置四个会话主机的权限
      • 您可以通过 运行 Get-PSSessionConfiguration
      • 来验证
  2. 在客户端机器上启动 WinRM 服务
  3. 运行 Set-Item WSMan:\localhost\Client\TrustedHosts -Value <hostname or FQDN or server>
    • 如果您要将服务器添加到列表中,可以将 -Concatenate 添加到 Set-Item 的末尾
  4. 运行 $Cred = Get-Credential 我刚刚按照 kevmar
  5. 的建议输入了用户名和密码(不是 servername\username)
  6. 运行 命令,例如 $S = New-PSSession -ComputerName <same name exactly that you put in the TrustedHosts> -Credential $Cred
  7. 如果一切正常,命令应该 return
  8. 如果您收到提到 Kerberos 的错误,请检查您在 ComputerName 参数和 TrustedHosts
  9. 中使用的名称是否相同
  10. 如果您收到拒绝访问错误,请检查 服务器是否配置了 LocalAccountTokenFilterPolicy