diff --git a/TaskModules/powershell/TaskModuleSqlUtility/SqlQueryOnTargetMachines.ps1 b/TaskModules/powershell/TaskModuleSqlUtility/SqlQueryOnTargetMachines.ps1 index 2a58aa82f..121317593 100644 --- a/TaskModules/powershell/TaskModuleSqlUtility/SqlQueryOnTargetMachines.ps1 +++ b/TaskModules/powershell/TaskModuleSqlUtility/SqlQueryOnTargetMachines.ps1 @@ -87,9 +87,28 @@ function Invoke-SqlQueryDeployment $additionalArguments = EscapeSpecialChars $additionalArguments - Write-Verbose "Invoke-SqlCmd arguments : $commandToLog $additionalArguments" - Invoke-Expression "Invoke-SqlCmd @spaltArguments $additionalArguments" + $commandToRun = $commandToLog + " " + $additionalArguments + $command = "Invoke-SqlCmd @spaltArguments $additionalArguments" + Write-Host "##[command] $commandToRun" + + if ($additionalArguments.ToLower().Contains("-verbose")) { + $errors = @() + + $rawOutput = (Invoke-Expression $command -ErrorVariable errors 4>&1 | Out-String) + $trimmedOutput = $rawOutput.TrimEnd() + $trimmedOutput -split "`r?`n" | Where-Object { $_.Trim() -ne "" } | ForEach-Object { Write-Output $_ } + + if ($errors.Count -gt 0) { + throw + } + } + else { + Invoke-Expression $command + } + } + Catch { + Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } # End of Try Finally { diff --git a/TaskModules/powershell/TaskModuleSqlUtility/TaskModuleSqlUtility.psd1 b/TaskModules/powershell/TaskModuleSqlUtility/TaskModuleSqlUtility.psd1 index b84cf50b1..520d1a730 100644 --- a/TaskModules/powershell/TaskModuleSqlUtility/TaskModuleSqlUtility.psd1 +++ b/TaskModules/powershell/TaskModuleSqlUtility/TaskModuleSqlUtility.psd1 @@ -1,6 +1,6 @@ @{ RootModule = 'TaskModuleSqlUtility.psm1' - ModuleVersion = '0.1.3' + ModuleVersion = '0.1.6' GUID = 'd997c6dd-33ad-481c-859b-01120229b91f' Author = 'Microsoft' CompanyName = 'Microsoft'