Public/Remove-PlexCollection.ps1
function Remove-PlexCollection { <# .SYNOPSIS Removes a Plex collection. .DESCRIPTION Removes a Plex collection. .PARAMETER Id The Id of the collection to remove. .EXAMPLE Remove-PlexCollection -Id 12345 .EXAMPLE Get-PlexCollection -LibraryId 1 | Where-object {[int]$_.childCount -lt 5} | Select-Object -ExpandProperty ratingKey | Remove-PlexCollection #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter(Mandatory, ValueFromPipeline)] [string] $Id ) begin { ############################################################################# #Region Import Plex Configuration if(!$script:PlexConfigData) { try { Import-PlexConfiguration -WhatIf:$False } catch { throw $_ } } #EndRegion } process { ############################################################################# #Region Make request if ($PSCmdlet.ShouldProcess("Remove collection with Id '$Id'")) { Write-Verbose -Message "Function: $($MyInvocation.MyCommand): Removing collection" try { $Uri = Get-PlexAPIUri -RestEndpoint "library/collections/$Id" Invoke-RestMethod -Uri $Uri -Method DELETE -ErrorAction Stop | Out-Null } catch { $PSCmdlet.WriteError($_) } } #EndRegion } } |