1

上周我一直在开发 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 控件似乎什么都不做——就像我在命令行方面的经验一样。

谁能看到我要去哪里错了?

4

1 回答 1

3

任何一个

powershell -file C:\temp\ps_test.ps1

或者

powershell "&{ <# code here #> }"
于 2012-08-06T11:44:39.100 回答