Functions/Export-DqEntities.ps1
Function Export-DqEntities { <# .SYNOPSIS Deze functie haalt alle eigen gemaakte entiteiten op uit een DQ Monitor Webservice en exporteert deze naar een entiteit .JSON bestand. .DESCRIPTION De Export-DqEntities functie haalt een lijst op van eigen gemaakte entiteiten die bekend zijn bij de DQ Monitor Webservice. Voordat deze functie gebruikt wordt, zorg ervoor dat de Context is gezet via functie Set-DqContext. .PARAMETER EntityJsonFile Het volledige pad naar een niet bestaand .JSON bestand waarnaar de resultaten worden opgeslagen. .PARAMETER Force (Optioneel) Indien het bestand 'EntityJsonFile' bestaat geeft deze parameter de mogelijkheid om deze te overschrijven. .INPUTS Geen. .OUTPUTS Geen. .EXAMPLE PS> Export-DqEntities -EntityJsonFile "C:\dq\entities.json" 4 entiteiten weggeschreven naar 'C:\dq\entities.json'. .LINK Set-DqContext #> [CmdletBinding()] Param( [Parameter(Mandatory=$True, Position=1)] [ValidateNotNullOrEmpty()] [String] $EntityJsonFile, [Parameter(Mandatory=$False, Position=2)] [Switch] $Force ) Validate-Context If (Test-Path -Path $EntityJsonFile -PathType Leaf) { If (-not($Force.IsPresent -and $Force)) { Write-Host "Entiteit JSON bestand '$($EntityJsonFile)' bestaat al. Indien deze overschreven moet worden, gebruik parameter 'Force'." -ForegroundColor Red Return; } } $AllCustomEntities = Get-DqEntities -CustomOnly $CustomEntities = @() ForEach($CustomEntity in $AllCustomEntities) { $CustomEntities += [PSCustomObject] @{ Name = $CustomEntity.Name; PluralName = $CustomEntity.PluralName Description = $CustomEntity.Description }; } $CustomEntitiesObject = [PSCustomObject] @{ entities = $CustomEntities } Set-Content -Path $EntityJsonFile -Value ($CustomEntitiesObject | ConvertTo-Json) -Encoding UTF8 -ErrorAction Stop | Out-Null Write-Host "$($CustomEntities.Count) entiteiten weggeschreven naar '$($EntityJsonFile)'." } |