【问题标题】:TFS2015 Release Management Execute Powershell on Remote MachineTFS2015 发布管理 在远程机器上执行 Powershell
【发布时间】:2016-08-25 02:32:59
【问题描述】:

晚上,

我最近安装了 TFS2015 并研究了发布管理集成解决方案,但遇到了一个我无法理解的巨大障碍。

我目前有一个使用 TFS、RM Server 2013 和 Powershell DSC 的 RM2013 构建,并在 RM2015 中设置了一个新部署,它有一个任务“在远程机器上执行 Powershell” - 使用一个非常简单的 powershell 脚本只是向详细的侦听器写出一个字符串。

我已验证文件已作为工件传输过程的一部分传输到代理工作目录,如果我调用 Import-Module "path to script"(这就是 PowerShellonTargetMachines 脚本似乎在幕后做)在远程服务器的 ISE 中,我的脚本运行得非常好 - 但无论我做什么,在 TFS 2015 版中我都会得到这个错误:

[错误]术语“脚本\test.ps1 的路径”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。更多信息请参考http://aka.ms/powershellontargetmachinesreadme

现在只是为了再次确认,scrpt 的路径是 100% 正确的,我已将其粘贴到远程服务器上的本地 ISE 中,它执行得非常好 - 但从 TFS2015 Execute Powershell on Remote Server - 它只是失败了运行,实际上我指向的任何脚本都无法运行并出现完全相同的错误(我最初认为这可能是 DSC 组件安装失败,但即使使用简单的测试脚本也会出现同样的问题!

我在任务Deployment>Powershell Script参数输入的路径是:

c:\test_scripts\test.ps1

我尝试过使用引号、不带引号、点源 - 没有任何区别,这让我认为我的安装从根本上破坏了某些东西,或者我只是做错了。

任何想法都非常感谢!!!

【问题讨论】:

  • 已修复此问题...确保在发布代理本身上执行 PS1 文件,除非首先通过文件复制将 powershell 文件复制到远程节点,如下所示。

标签: powershell tfs release tfs-2015 ms-release-management


【解决方案1】:

脚本必须已经在机器上。您可以使用“Windows 机器文件复制”任务推送脚本。

【讨论】:

  • @watdo 您还需要确保WinRM works。在接下来的几天里,我将在我的website 上发布一篇关于这一切的博文。
  • RM2015 已经将 TFS 工件复制到发布代理工作目录,我的问题是我试图在我的远程节点上实际执行 PS1 文件,而不是 RM2015 代理工作目录(文件实际上是下降到)。
【解决方案2】:

已解决此问题...确保您在发布代理本身上执行 PS1 文件,除非首先通过文件复制将 powershell 文件复制到远程节点,如下所示

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 2013-12-04
    • 2014-11-05
    相关资源
    最近更新 更多