先週は 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 ビルドの最後に、FileName プロパティに「Powershell」を使用し、次に次の引数を使用する 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 コントロールは何もしないようです。
私がどこで間違っているのか誰にもわかりますか?