Public/Remove-JuribaList.ps1
Function Remove-JuribaList { [alias("Remove-DwList")] [CmdletBinding(SupportsShouldProcess=$true)] param( [Parameter(Mandatory=$false)] [string]$Instance, [Parameter(Mandatory=$false)] [string]$APIKey, [Parameter(Mandatory = $true)] [ValidateSet("Device", "User", "Application", "Mailbox", "ApplicationUser", "ApplciationDevice")] [string]$ObjectType, [Parameter(Mandatory=$true)] [int]$ListId ) if ((Get-Variable 'dwConnection' -Scope 'Global' -ErrorAction 'Ignore') -and !$APIKey -and !$Instance) { $APIKey = ConvertFrom-SecureString -SecureString $dwConnection.secureAPIKey -AsPlainText $Instance = $dwConnection.instance } if ($APIKey -and $Instance) { $endpoint = "" switch ($ObjectType) { "ApplicationUser" { throw "not implemented" } "ApplicationDevice" { throw "not implemented" } "Device" { $endpoint = "devices"} "User" { $endpoint = "users "} "Application" { $endpoint = "applications" } "Mailbox" { $endpoint = "mailboxes" } } $headers = @{ 'X-API-KEY' = $ApiKey } $uri = "{0}/apiv1/lists/{1}/{2}" -f $instance, $endpoint, $ListId if ($PSCmdlet.ShouldProcess($ListId)) { Invoke-WebRequest -Uri $uri -Headers $headers -Method DELETE } } else { Write-Error "No connection found. Please ensure `$APIKey and `$Instance is provided or connect using Connect-Juriba before proceeding." } } |