Remove-StreamDeckProfile.ps1
function Remove-StreamDeckProfile { <# .Synopsis Removes StreamDeck Profiles .Description Removes StreamDeck Profiles and their directory contents. This cannot be undone. .Example Get-StreamDeckProfile -Name GoodbyeProfile | Remove-StreamDeckProfile .Link Get-StreamDeckProfile #> [CmdletBinding(SupportsShouldProcess,ConfirmImpact='High')] [OutputType([nullable])] param( # The Profile Path [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [ValidatePattern('manifest\.json$')] [Alias('Path')] [string] $ProfilePath ) process { #region Confirm and Remove if (-not (Test-Path $ProfilePath)) { return } if ($PSCmdlet.ShouldProcess("Remove '$ProfilePath'")) { $ProfilePath | Split-Path | Remove-Item -Recurse -Force } #endregion Confirm and Remove } } |