diff --git a/TaskModules/powershell/TaskModuleSqlUtility/SqlQueryOnTargetMachines.ps1 b/TaskModules/powershell/TaskModuleSqlUtility/SqlQueryOnTargetMachines.ps1 index 2a58aa82f..d4eec0381 100644 --- a/TaskModules/powershell/TaskModuleSqlUtility/SqlQueryOnTargetMachines.ps1 +++ b/TaskModules/powershell/TaskModuleSqlUtility/SqlQueryOnTargetMachines.ps1 @@ -1,4 +1,7 @@ -# Function to import SqlPS module & avoid directory switch +$featureFlags = @{ + enableVerboseLogging = [System.Convert]::ToBoolean($env:ENABLE_VERBOSE_LOGGING) +} +# Function to import SqlPS module & avoid directory switch function Import-SqlPs { push-location Import-Module SqlPS -ErrorAction 'SilentlyContinue' | out-null @@ -86,10 +89,38 @@ function Invoke-SqlQueryDeployment } $additionalArguments = EscapeSpecialChars $additionalArguments + if ($featureFlags.enableVerboseLogging) { + $commandToRun = $commandToLog + " " + $additionalArguments + $command = "Invoke-SqlCmd @spaltArguments $additionalArguments" + Write-Host "##[command] $commandToRun" + + if ($additionalArguments.ToLower().Contains("-verbose")) { + $errors = @() - Write-Verbose "Invoke-SqlCmd arguments : $commandToLog $additionalArguments" - Invoke-Expression "Invoke-SqlCmd @spaltArguments $additionalArguments" + Invoke-Expression $command -ErrorVariable errors 4>&1 | ForEach-Object { + Write-Host $_ + } + if ($errors.Count -gt 0) { + throw + } + } + else { + Invoke-Expression $command + } + } + else { + Write-Verbose "Invoke-SqlCmd arguments : $commandToLog $additionalArguments" + Invoke-Expression "Invoke-SqlCmd @spaltArguments $additionalArguments" + } + } + Catch { + if ($featureFlags.enableVerboseLogging) { + Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow + } + else { + throw $_.Exception + } } # 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'