PSGuard.psm1
<#
.Synopsis Executa a API do SQL Code Guard e gera o resultado com os erros de código do script sql testado. As configurações de erros estão no arquivo settings.xml dentro do diretorio dll .DESCRIPTION Executa a API do SQL Code Guard e gera o resultado com os apontamentos de código do script sql testado. .EXAMPLE Invoke-SQLCodeGuard -PathScript <caminho do script> #> function Invoke-SQLCodeGuard { [CmdletBinding()] [Alias()] Param ( # Caminho do Script para gerar o resultado [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true, Position=0)] $PathScript ) Begin { $Path =$PSScriptRoot if (!$Path){$Path = Split-Path -Path $psISE.CurrentFile.FullPath} if (test-path "$Path\dlls\SqlCodeGuard30.API.dll") { add-type -path "$Path\dlls\SqlCodeGuard30.API.dll" $api = [SqlCodeGuardAPI.API]::new() $api.LoadSettings("$Path\dlls\settings.xml") } else {Write-Error "A dll SqlCodeGuard30.API.dll não foi encontrada"} } Process{ dir $PathScript -Filter *.sql -Recurse -ErrorAction SilentlyContinue |% { $script = $_ if($script){ [bool]$unparsed = $false $api.GetIssues($(gc -raw $script.FullName),[ref] [bool] $unparsed)|sort Line |select IssueCode,Line,ErrorText |ft -AutoSize |out-file "$($script.DirectoryName)\$($script.basename)_result.txt" -force } } } End{} } Export-ModuleMember -Function Invoke-SQLCodeGuard |