2012-08-06 249 views
1

我已經花了上週開發Powershell腳本。當我從Powershell窗口啓動它時,它現在可以正常工作。但是,我需要從TFS構建中調用該腳本。我試過使用TFS Build InvokeProcess控件的語法Powershell &'script',但似乎沒有發生任何事情。所以,我已經回到基礎並創建了以下腳本:從命令行執行Powershell

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的建設我有一個使用「Powershell的」,其FileName屬性的InvokeProcess控制,然後將以下參數的結尾:

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控制似乎做沒有什麼 - 就像我對命令行的體驗一樣。

任何人都可以看到我要去哪裏錯了嗎?

回答

3

要麼

powershell -file C:\temp\ps_test.ps1 

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