2015-07-10 141 views
1

在下面的PowerShell腳本V2.0,命令&不執行:PowerShell命令未執行?

$SqlPackageExe = "C:\Program Files (x86)\Microsoft SQL Server\120\DAC\bin\sqlpackage.exe" 
Write-Host "Before SqlPackage" 
& "$SqlPackageExe" /Action:Publish $SqlPackageParameters 
Write-Host "After SqlPackage" 

在控制檯輸出,我看到: SqlPackage 之前之後SqlPackage

我沒有錯誤,沒有日誌,沒有任何SqlPackage.exe。發生了什麼 ? 我的命令「&」$ SqlPackageExe「/操作:發佈$ SqlPackageParameters」第一次,第二次(部署數據庫),然後停止工作。 如果關閉PowerShell會話並打開新的PowerShell會話,該命令會多次運行,然後停止工作。

謝謝您的幫助

+0

這個答案http://stackoverflow.com/a/31351075/9976有一個記錄輸出的腳本 - 將幫助您進行調試。 – Mark

回答

1

您需要重定向StdError和stdout,看到討論答案 「-RedirectStandardError -RedirectStandardOutput」:

Powershell: Capture program stdout and stderr to separate variables

+0

好的。我可以得到一個錯誤號碼。如果Console.Write()太多,這是PowerShell中的一個已知錯誤:https://support.microsoft.com/en-us/kb/2701373 感謝您的幫助。 – Phil