我在使用PowerShell连接到远程服务器时遇到问题,其中远程计算机使用非默认端口号。设置如下:我有一个带有多个虚拟机的虚拟主机服务器。所有这些虚拟机都具有相同的IP地址,但可以使用不同的端口进行访问,例如:
a.b.c.d:3000
a.b.c.d:3001
etc
所以,到目前为止我的PowerShell脚本是:
$password = ConvertTo-SecureString "<MyPassword>" -AsPlainText -Force
$cred= New-Object System.Management.Automation.PSCredential ("<Domain\UserName>", $password)
Enter-PSSession -ComputerName <IPAddress> -Port <PortNumber> -Credential $cred
“&lt;&gt;”内的位特定于各个机器。运行此脚本时,我收到以下错误:
Enter-PSSession:连接到远程服务器失败 带有以下错误消息:客户端无法连接到 请求中指定的目标。验证该服务 目的地正在运行并正在接受请求。查阅日志和 运行WS-Management服务的文档 目的地,最常见的是IIS或WinRM。如果目的地是 WinRM服务,在目的地运行以下命令 分析和配置WinRM服务:“winrm quickconfig”。更多 有关信息,请参阅about_Remote_Troubleshooting H elp主题。在 C:\ PowerShell \ Test7.ps1:25 char:16 + Enter-PSSession&lt;&lt;&lt;&lt; -ComputerName -Port -Credential $ cred + CategoryInfo:InvalidArgument :(:String)[Enter-PSSession],PSRemotingTransportException + FullyQualifiedErrorId:CreateRemoteRunspaceFailed
我尝试的另一个变体如下:
$password = ConvertTo-SecureString "<MyPassword>" -AsPlainText -Force
$cred= New-Object System.Management.Automation.PSCredential ("<Domain\UserName>", $password)
$powershell_uri = "http://<IPAddress>:<PortNumber>"
Enter-PSSession -ConnectionUri $powershell_uri -Credential $cred
但这会产生以下错误:
Enter-PSSession:连接到远程服务器失败了 以下错误消息:客户端无法连接到目标 在请求中指定。验证目标上的服务 正在运行并正在接受请求。查阅日志和 运行WS-Management服务的文档 目的地,最常见的是IIS或WinRM。如果目的地是 WinRM服务,在目的地运行以下命令 分析和配置WinRM服务:“winrm quickconfig”。更多 有关信息,请参阅about_Remote_Troubleshooting H elp主题。在 C:\ PowerShell \ Test7.ps1:21 char:16 + Enter-PSSession&lt;&lt;&lt;&lt; -ConnectionUri $ powershell_uri -Credential $ cred#-ComputerName -Port -Credential $ CRED + CategoryInfo:InvalidArgument:(http://:/:Uri)[Enter-PSSession], PSRemotingTransportException + FullyQualifiedErrorId:CreateRemoteRunspaceFailed
我在本地计算机上设置了TrustedHosts(winrm set winrm / config / client @ {TrustedHosts =“”}),在远程计算机上我运行了“winrm quickconfig”命令。在远程计算机上,我还运行了“winrm create winrm / config / listener?Address = * + Transport = HTTP @ {Port =”“}”命令。
有关如何在PowerShell中为这些计算机建立连接的任何帮助将不胜感激。
答案 0 :(得分:3)
以管理员模式启动PowerShell并输入命令:
启用,PSRemoting
退出
转到控制面板 - &gt;系统和安全 - &gt; Windows防火墙并单击高级设置
将管理计算机的ip范围添加到私有和域入站规则中的Windows远程管理(http-In)。
这应该可以解决问题。
答案 1 :(得分:0)
在评论中解决:防火墙配置错误。