Functions/Get-DqChecksFormatted.ps1
Function Get-DqChecksFormatted { <# .SYNOPSIS Deze functie haalt alle controles op uit een DQ Monitor Webservice en presenteert deze op een leesbare manier. .DESCRIPTION De Get-DqChecksFormatted functie haalt een lijst op van controles die bekend zijn bij de DQ Monitor Webservice. Het resultaat wordt in een geformatteerde tabel gepresenteerd. Voordat deze functie gebruikt wordt, zorg ervoor dat de Context is gezet via functie Set-DqContext. .PARAMETER CustomOnly Optioneel: Indicatie dat alleen een lijst met eigen gemaakte controles van de klant opgehaald moeten worden. .PARAMETER Checks Optioneel: Indien checks via deze parameter worden meegegeven (afkomstig uit Get-DqChecks) dan worden deze geformatteerd weergegeven. .INPUTS Geen. .OUTPUTS Geen. .EXAMPLE PS> Get-DqChecksFormatted Naam Entiteit Gevoelige inhoud Omschrijving ------------------------- --------------- ---------------- ------------------------------------- ... ... ... MY_CUSTOM_CHECK006 Eenheid Nee Controleert of er aanwezigheid en geldigheid controles aanwezig zijn. WOONGELUK_REL_GEG_GELDIG Relatie Nee Controleert per voorbeeldrelatie of de adresgegevens correct zijn ingevuld. Controle gaat alleen over relaties die nog staan ingeschreven. WOONGELUK_REL_GEG_GELDIG2 Relatie Ja Controleert per voorbeeldrelatie of de adresgegevens correct zijn ingevuld. Controle gaat alleen over relaties die nog staan ingeschreven. .EXAMPLE PS> Get-DqChecksFormatted -CustomOnly Naam Entiteit Gevoelige inhoud Omschrijving ------------------------- --------------- ---------------- ------------------------------------- MY_CUSTOM_CHECK006 Eenheid Nee Controleert of er aanwezigheid en geldigheid controles aanwezig zijn. WOONGELUK_REL_GEG_GELDIG Relatie Nee Controleert per voorbeeldrelatie of de adresgegevens correct zijn ingevuld. Controle gaat alleen over relaties die nog staan ingeschreven. WOONGELUK_REL_GEG_GELDIG2 Relatie Ja Controleert per voorbeeldrelatie of de adresgegevens correct zijn ingevuld. Controle gaat alleen over relaties die nog staan ingeschreven. .LINK Set-DqContext #> [CmdletBinding(DefaultParameterSetName="Automatic")] Param( [Parameter(Mandatory=$False, position=1, ParameterSetName="Automatic")] [Switch] $CustomOnly, [Parameter(Mandatory=$False, position=2, ParameterSetName="ByChecks")] [ValidateNotNull()] [Array] $Checks ) If ($PSCmdlet.ParameterSetName -eq "Automatic") { If ($CustomOnly.IsPresent -and $CustomOnly) { [Array]$Checks = Get-DqChecks -CustomOnly } Else { [Array]$Checks = Get-DqChecks } } If ($Checks.Count -eq 0) { Write-Warning "Geen controles gevonden." Return; } $LengthMaxLength = ($Checks | Select -ExpandProperty Name | Measure-Object -Maximum -Property Length).Maximum $EntityMaxLength = ($Checks | Select -ExpandProperty Entity | Measure-Object -Maximum -Property Length).Maximum $IsSensitiveMaxLength = 16 Write-Host " " Write-Host "Naam".PadRight($LengthMaxLength) "Entiteit".PadRight($EntityMaxLength) "Gevoelige inhoud".PadRight($IsSensitiveMaxLength) "Omschrijving" Write-Host "-".PadRight($LengthMaxLength, "-") "-".PadRight($EntityMaxLength, "-") "-".PadRight($IsSensitiveMaxLength, "-") "-".PadRight(40, "-") ForEach($Check in $Checks) { $Description = $Check.Documentation.Description.Replace([Char]10, ' ').Replace([Char]13, ' ') $IsSensitive = If ($Check.ResultCaptionIsSensitive -eq $true) { "Ja" } Else { "Nee" } If ($Description.Length -gt 140) { $Description = $Description.Substring(0, 140); } Write-Host ([String]::Format("{0} {1} {2} {3}", $Check.Name.PadRight($LengthMaxLength), $Check.Entity.PadRight($EntityMaxLength), $IsSensitive.PadRight($IsSensitiveMaxLength), $Description)); } } |