如何使用PowerShell连接到远程服务器

时间:2014-10-14 10:00:50

标签: powershell

我正在尝试连接到远程服务器,但收到以下错误

  

[my ip]连接到远程服务器“my ip”失败,并显示以下错误消息:WinRM客户端无法处理请求。在以下情况下,默认身份验证可与IP地址一起使用:传输是HTTPS或目标位于TrustedHosts列表中,并提供显式凭据。使用winrm.cmd配置TrustedHosts。请注意,TrustedHosts列表中的计算机可能未经过身份验证。有关如何设置TrustedHosts的更多信息,请运行以下命令:winrm help config。有关详细信息,请参阅about_Remote_Troubleshooting帮助主题。

     
      
  • CategoryInfo:OpenError:(my ip:String)[],PSRemotingTransportException
  •   
  • FullyQualifiedErrorId:CannotUseIPAddress,PSSessionStateBroken
  •   

我正在使用此命令从远程PC上的本地计算机运行PowerShell脚本

这是我的剧本

$serverName = 'my ip'
$pwd = convertto-securestring "password12" -asplaintext -force
$cred=new-object -typename System.Management.Automation.PSCredential -argumentlist   
".\Administrator",$pwd

Invoke-Command -computername $serverName {$("C:\_Projects\test.ps1")}

修改
我的本地电脑和远程电脑不在同一个域上。例如我的本地电脑说mypc.test.local和远程电脑说工作组。有人可以通过不更改远程计算机上的设置来帮助如何对上述错误进行排序,因为它是一个UAT服务器。

1 个答案:

答案 0 :(得分:0)

您需要在Invoke-command命令中添加-credential $cred。您可能还需要从管理员名称中删除。\ - 我没有要测试的工作组服务器,因此我无法确定这是否有效。

Invoke-Command -credential $cred -computername $serverName {$("C:\_Projects\test.ps1")}