【问题标题】:Executing Powershell from Command Line从命令行执行 Powershell
【发布时间】:2012-08-03 09:06:25
【问题描述】:

上周我一直在开发 Powershell 脚本。当我从 Powershell 窗口启动它时,它现在可以正常工作了。但是,我需要从 TFS 构建中调用脚本。我尝试使用 TFS Build InvokeProcess 控件中的语法 Powershell & 'script' 但似乎没有任何反应。所以,我回到了基础并创建了以下脚本:

Write-Host " Write-Host line"
Write-eventlog -logname "Application" -source "BizTalkDeployment" -eventId "01" -entrytype "Information" -message "test"

我已将脚本保存为 c:\temp\ps_test.ps1。我以管理员身份打开了一个命令窗口并尝试了以下操作:

powershell & 'c:\temp\ps_test.ps1"

这会将命令行置于 powershell 模式,我得到:

PS c:\>

但没有其他事情发生。

在我的 TFS 构建结束时,我有一个 InvokeProcess 控件,它使用“Powershell”作为其 FileName 属性,然后是以下参数:

String.Format(" ""& '{0}' '{1}' '{2}' '{3}' '{4}' '{5}' '{6}' '{7}' '{8}' '{9}' "" ", DeploymentScriptFileName, IO.Path.GetDirectoryName(DeploymentScriptFileName), "ExecuteBizTalkAppMSI.ps1", "bin\debug\x.Int.MIS-3.0.0.msi", "x.Int.MIS.Deployment.btdfproj", TargetServerPath, "d-vasbiz01", "c:\biztalkdeployment", "C:\Program Files (x86)\x.Int.MIS for BizTalk 2010\3.0", "BTSSvc*MIS*")

构建脚本运行正常,但 InvokeProcess 控件似乎什么也没做 - 就像我在命令行方面的经验一样。

谁能看看我哪里出错了?

【问题讨论】:

    标签: powershell tfs tfsbuild


    【解决方案1】:

    要么

    powershell -file C:\temp\ps_test.ps1
    

    powershell "&{ <# code here #> }"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 2021-05-10
      • 2014-11-03
      • 2014-12-09
      • 2016-04-04
      相关资源
      最近更新 更多