【问题标题】:TFS2017: Use PSRemote from agent or Powershell on Remote Machines taskTFS 2017:在远程计算机任务上使用来自代理或 Powershell 的 PS Remote
【发布时间】:2018-04-06 16:58:38
【问题描述】:

在 TFS 2017 Update 2 Release Management 中,与从部署代理计算机执行的 PSRemote PowerShell 脚本相比,“远程计算机上的 PowerShell”任务有哪些优势?

作为我们发布过程的一部分,我们使用 PowerShell 脚本来验证和配置要部署到的服务器(例如安装 SSL 证书、.NET 版本等)。我们过去一直使用 PowerShell 远程处理(New-PSSession/Invoke-Command)和 CredSSP 来执行来自部署代理的脚本来配置目标计算机。

远程机器上的 PowerShell 任务似乎涉及将您的 ps1 复制到目标机器,然后从该机器的上下文中执行它。与 PSRemote 方法相比,看起来我们获得的只是更简单的语法。此外,如果我们将脚本文件复制到服务器集合,然后让这些机器在等待结果的同时执行脚本,那么从 RM 跟踪和排除故障看起来更难。鉴于使用此任务引用的网站很受欢迎,我觉得我一定遗漏了一些东西。

【问题讨论】:

    标签: powershell tfs release-management


    【解决方案1】:

    PowerShell on Target Machinestask 使部署更加方便和有效。

    此任务可以运行 PowerShell 脚本和 PowerShell-DSC 脚本。它可以使用逗号分隔的计算机 FQDN 或 IP 地址列表(可选地包括端口号)在远程计算机上执行 PowerShell 脚本。也可以轻松传递其他参数。

    详情请咨询Deploy: PowerShell on Target Machines

    PSRemote 的这篇文章:How to Run PowerShell Commands on Remote Computers

    你可以和他们比较。

    【讨论】:

    • 谢谢你,@Andy-MSFT。我知道该任务允许您在远程机器上运行脚本,但我们已经能够从代理使用 PSRemote 执行此操作,包括并行分支到多台机器并使用参数。我没有看到为什么(如果?)我们应该切换到使用“目标机器上的 PS”而不是 PSRemote。在幕后,任务是否只是使用 WinRM 和您提供的脚本调用命令?我正在尝试看看这是否只是一种不同的脚本管理功能,或者是否还有其他一些技术优势。
    • @pwil301 都有基于WinRM的。是的,它是用于脚本管理的,它提供了更好的交互模式,使部署更容易理解,特别是对于一些 PowerShell 初学者。如果你是 PowerShell 方面的专家,那么 PS-remote 几乎可以完成所有的部署。
    • 感谢@Andy-MSFT。这就是我需要知道的!
    猜你喜欢
    • 2019-02-17
    • 2020-03-08
    • 2016-02-18
    • 2015-11-06
    • 1970-01-01
    • 2018-12-03
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多