无法通过Build Server中的Powershell / WinRm连接到远程服务器

时间:2018-02-01 17:28:48

标签: powershell azure-devops winrm

执行VSTS发布定义任务“运行SQL Server脚本”时,我不断收到此错误:

  

[错误] System.Management.Automation.Remoting.PSRemotingTransportException:   连接到远程服务器[我的数据库服务器IP此处]失败   以下错误消息:WinRM无法完成操作。   验证指定的计算机名称是否有效,即计算机是否有效   可通过网络访问,并且该防火墙例外   WinRM服务已启用,允许从此计算机进行访问。通过   默认情况下,公共配置文件限制的WinRM防火墙例外   访问同一本地子网内的远程计算机。更多   有关信息,请参阅about_Remote_Troubleshooting帮助主题。

我有:

  • 检查我使用的用户名/密码是否具有管理员权限(不使用域名)
  • 确保WinRM服务正在运行(在构建服务器上和目标服务器上)
  • 确保可以使用WinRM quickconfig通过Powershell控制台中的WinRM访问远程服务器,这可以让我回复:

    • WinRM服务已在此计算机上运行。
    • 已在此计算机上设置WinRM进行远程管理。
  • 禁用目标服务器上的防火墙(我也尝试为Windows远程管理规则添加适当IP等的防火墙例外)

我一定错过了某种配置,但我不知道它是什么!

任何帮助都非常感谢...

1 个答案:

答案 0 :(得分:1)

你可以随时使用powershell来实现这样的东西......

$ content = Get-Content -Path" testsqlFile.sql" |输出字符串 Invoke-Sqlcmd -ServerInstance some-ip-address -Database database-name -Username user-name-Password password -Query $ content