Functions/Remove-DqCheck.ps1
Function Remove-DqCheck { <# .SYNOPSIS Deze functie verwijdert een enkele controle uit een DQ Monitor Webservice. .DESCRIPTION De Remove-DqCheck functie geeft de mogelijkheid om een enkele controle te verwijderen uit een DQ Monitor Webservice. Voordat deze functie gebruikt wordt, zorg ervoor dat de Context is gezet via functie Set-DqContext. .PARAMETER CheckName De unieke naam van de controle zoals deze bekend is bij de DQ Monitor Webservice. .PARAMETER Force Optioneel: Indien opgegeven zal de controle worden verwijderd zonder eerst een bevestiging te vragen. .INPUTS Geen. .OUTPUTS Geen. .EXAMPLE PS> Remove-DqCheck -CheckName "WOONGELUK_REL_GEG_GELDIG" Weet u zeker dat controle 'WOONGELUK_REL_GEG_GELDIG' met Id 1 verwijderd moet worden uit DQ Monitor? Dit kan niet ongedaan gemaakt worden: Keuze (jn): .EXAMPLE PS> Remove-DqCheck -CheckName "WOONGELUK_REL_GEG_GELDIG" -Force Controle is verwijderd. .LINK Set-DqContext #> [CmdletBinding(DefaultParameterSetName="ByCheckName")] Param( [Parameter(Mandatory=$True, ParameterSetName="ByCheckName", position=1)] [ValidateNotNullOrEmpty()] [String] $CheckName, [Parameter(Mandatory=$False, ParameterSetName="ByCheckName", position=2)] [Switch] $Force, [Parameter(Mandatory=$True, ParameterSetName="ByCheckObject", position=1)] [ValidateNotNull()] [PsCustomObject] $CheckObject ) If ($PSCmdlet.ParameterSetName.Equals("ByCheckName")) { $CheckObjects = Get-DqChecks -CustomOnly | Where-Object { $_.Name.ToLowerInvariant().Equals($CheckName.ToLowerInvariant()) } If (-not($CheckObjects)) { Write-Host "Controle '$($CheckName)' kon niet worden gevonden." -ForegroundColor Red Return $False; } $CheckObject = $CheckObjects | Select -First 1 } If (-not($CheckObject.IsCustom)) { Write-Host "Controle '$($CheckName)' is geen eigen gemaakte controle. Verwijderen wordt niet ondersteund." -ForegroundColor Red Return; } If (-Not($Force.IsPresent) -or -not($Force)) { Write-Host "Weet u zeker dat controle " -NoNewline Write-Host "'$($CheckObject.Name)'" -NoNewline -ForegroundColor White -BackgroundColor DarkRed Write-Host " met Id " -NoNewline Write-Host "$($CheckObject.Id)" -NoNewline -ForegroundColor White -BackgroundColor DarkRed Write-Host " verwijderd moet worden uit DQ Monitor? Dit kan niet ongedaan gemaakt worden:" $Keuze = "" Do { $Keuze = Read-Host "Keuze (jn)" } While ($Keuze.Trim() -notmatch '^[jJnN]$') If ($Keuze.ToLowerInvariant().Equals("n")) { Write-Host "Handeling afgebroken." Return; } } Write-Verbose "Verwijderen van controle '$($CheckObject.Name)' met Id $($CheckObject.Id)..." Remove-Check -CheckId $CheckObject.Id -ErrorAction Stop | Out-Null Write-Host "Controle is verwijderd." } |