是否有可能与调用命令的工作流程?

问题描述 投票:1回答:1

不要任何人知道,如果我能在PowerShell中的工作流程使用Invoke-Command

目前,我有脚本,通过与服务的列表的文本文件循环,但我想它推到所有服务器立刻经文由一个通过一个去。这可能吗?

这是当前脚本块我一起工作:

{
    ForEach ($Server in $Servers) {
        Write-Host "Copying code to $Server..."

        If (!(Test-Path -path \\$Server\c$\Websites\Versions\v$version)) {
            New-Item \\$Server\c$\Websites\Versions\v$version -Type Directory | Out-Null
        }

        Copy-Item .\Packages\v$version\* \\$Server\c$\Websites\Versions\v$version -Force -Recurse

        Write-Host "Converting to application on $Server..."

        Invoke-Command -ComputerName $Server -ScriptBlock $Script -Argumentlist $Version | Out-Null
    }
}
windows powershell invoke-command
1个回答
1
投票

PowerShell的工作流引擎是不能够直接调用PowerShell命令。相反,如果一个编剧调用工作流定义范围内的PowerShell命令,PowerShell的工作流引擎会自动换行InlineScript工作流活动中PowerShell命令的调用。

workflow test
{
  ForEach ($Server in $Servers) {
      Write-Host "Copying code to $Server..."

      If (!(Test-Path -path \\$Server\c$\Websites\Versions\v$version)) {
          New-Item \\$Server\c$\Websites\Versions\v$version -Type Directory | Out-Null
      }

      Copy-Item .\Packages\v$version\* \\$Server\c$\Websites\Versions\v$version -Force -Recurse

      Write-Host "Converting to application on $Server..."

      InlineScript {
          Invoke-Command -ComputerName $Server -ScriptBlock $Script -Argumentlist $Version | Out-Null
      }
  }
}

至于它是否会工作,你必须尝试一下,由马蒂亚斯的建议。

© www.soinside.com 2019 - 2024. All rights reserved.