Powershell 远程处理非域服务器问题

Powershell 远程处理非域服务器问题

有人能帮助解决以下问题吗?我正尝试从公司域中的服务器 ( SVR_A) 远程访问不属于域的服务器 ( )。SRV_B

  • 的IP地址范围SRV_B10.0.X.X
  • 的IP地址SRV_A172.23.1.2

我可以 ping 每一台服务器(SVR_ASVR_B和反之亦然)。WinRM 在两台服务器上运行,并且Enable-PSRemoting在两种情况下都配置正确。SRV_B还将 添加SRV_A到其TrustedHosts列表中。

get-item WSMan:\localhost\Client\TrustedHosts

返回

 WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client

pe            Name                           SourceOfValue   Value
--            ----                           -------------   -----
stem.String   TrustedHosts                                   SVR_A

SRV_A是我们 DMZ 中的 Web 服务器之一,因此还有其他不属于域的 Web 服务器。我可以使用Invoke-Command或远程访问 Web 服务器Enter-PSSessionSRV_B但不是来自公司域内的应用服务器( )。

我收到这个错误

[SRV_A] Connecting to remote server SRV_A failed with the following error message : The client
cannot connect to the destination specified in the request. Verify that the service on the destination is running and
is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination,
most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to
analyze and configure the WinRM service: "winrm quickconfig". For more information, see the
about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (SRV_A:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : CannotConnect,PSSessionStateBroken

两端的 Powershell 版本

Name                           Value
----                           -----
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.42000
BuildVersion                   6.3.9600.19170
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2

结果winrm e winrm/config/listenerSRV_A

Listener
    Address = *
    Transport = HTTP
    Port = 5985
    Hostname
    Enabled = true
    URLPrefix = wsman
    CertificateThumbprint
    ListeningOn = 127.0.0.1, 172.23.1.2, ::1, fe80::5efe:172.23.1.2%13

答案1

1. 根据winrm e winrm/config/listener服务器上的输出A...

  • 它正在使用端口5985
  • 并使用 IP 地址进行监听172.23.1.2

2. 检查所有防火墙规则或路由器配置并确保...

  • 服务器10.0.x.x流量B可以到达172.23.1.2IP 地址(和子网)到服务器A
  • 5989尤其是港口

3. 此外...

  • 在服务器上运行Enable-PSRemoting -Force;提升权限的 PowerShell 管理员A 再次

  • 考虑仅信任服务器的 IP 地址或服务器上的B整个子网10.0.x.xA

  • 使用有效的服务器A凭据,但使用远程 PowerShell 命令在服务器上执行它B,只要允许网络流量和端口访问,它就可以与不受信任的域一起使用

    • 在服务器 B 上执行此操作

       Invoke-Command -ComputerName "ServerA" -ScriptBlock { 
          <Remote Command...>
          } -Credential Get-Credential "SrvA\UserNameHere"
      

4. 协助排除故障...

  • 运行Enter-PSSession -ComputerName "ServerA" -Credential Get-Credential "SrvA\UserNameHere"以确认您可以A从服务器访问服务器B

5. 最后,但同样重要的是,为了更加彻底......

  • 考虑将你的 Server 2012 R2 更新至PowerShell 5.1为了更加彻底

支持资源

相关内容