我在使用 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
“<>”中的位特定于各个机器。运行此脚本时,我收到以下错误:
Enter-PSSession:连接到远程服务器失败,并显示以下错误消息:客户端无法连接到请求中指定的目标。验证目标上的服务是否正在运行并且正在接受请求。请查阅在目标(最常见的是 IIS 或 WinRM)上运行的 WS-Management 服务的日志和文档。如果目标是 WinRM 服务,在目标上运行以下命令来分析和配置 WinRM 服务:“winrm quickconfig”。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。在 C:\PowerShell\Test7.ps1:25 char:16 + Enter-PSSession <<<< -ComputerName -Port -Credential $cred + CategoryInfo : InvalidArgument: (:String) [Enter-PSSession],
我尝试的另一个变体如下:
$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:连接到远程服务器失败,并显示以下错误消息:客户端无法连接到请求中指定的目标。验证目标上的服务是否正在运行并且正在接受请求。请查阅在目标(最常见的是 IIS 或 WinRM)上运行的 WS-Management 服务的日志和文档。如果目标是 WinRM 服务,在目标上运行以下命令来分析和配置 WinRM 服务:“winrm quickconfig”。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。在 C:\PowerShell\Test7.ps1:21 char:16 + Enter-PSSession <<<< -ConnectionUri $powershell_uri -Credential $cred # -ComputerName -Port -Credential $cred + CategoryInfo : InvalidArgument: (http://: /:
我已经在本地机器上设置了 TrustedHosts (winrm set winrm/config/client @{TrustedHosts=""}),在远程机器上我已经运行了“winrm quickconfig”命令。在远程机器上,我还运行了“winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port=""}" 命令。
任何有关如何在 PowerShell 中与这些机器建立连接的帮助将不胜感激。