Private/Invoke-SNOWTableDELETE.ps1
function Invoke-SNOWTableDELETE { [CmdletBinding(SupportsShouldProcess,ConfirmImpact='High')] param ( [Parameter(Mandatory)] [string] $table, [Parameter(Mandatory)] [hashtable] $Parameters ) BEGIN { Assert-SNOWAuth $Parameters = Format-Hashtable -Hashtable $Parameters -KeysToLowerCase #todo remove this & test $BaseURL = "https://$($script:SNOWAuth.instance).service-now.com/api/now/v2/table/$Table/" $AuthSplat = @{Headers = Get-AuthHeader} #$ProgressPreference = "SilentlyContinue" } PROCESS { $URI = "$BaseURL$($Parameters.sys_id)" #? sysparm_query_no_domain if($Parameters.ContainsKey('RestrictDomain')){ $URI = "$URI`?sysparm_query_no_domain=$($Parameters.RestrictDomain.ToString().ToLower())" } try{ if($PSCmdlet.ShouldProcess($URI,'DELETE')){ Invoke-RestMethod -Method "DELETE" -URI $URI @AuthSplat } }catch{ Write-Error "$($_.Exception.Message) [$URI]" } } } |