Private/Remove-PatServerToken.ps1
|
function Remove-PatServerToken { <# .SYNOPSIS Removes an authentication token for a server from the vault. .DESCRIPTION Internal helper function that removes a Plex authentication token from the SecretManagement vault. Called when removing a server configuration to clean up any stored secrets. .PARAMETER ServerName The name of the server whose token should be removed. .EXAMPLE Remove-PatServerToken -ServerName 'Home' Removes the token for 'Home' server from the vault if it exists. #> [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $ServerName ) $secretName = "PlexAutomationToolkit/$ServerName" if (Get-PatSecretManagementAvailable) { try { # Check if secret exists before trying to remove $secret = Get-Secret -Name $secretName -ErrorAction SilentlyContinue if ($secret) { Remove-Secret -Name $secretName -ErrorAction Stop Write-Debug "Removed token from vault for server '$ServerName'" } else { Write-Debug "No token in vault for server '$ServerName'" } } catch { Write-Warning "Failed to remove token from vault: $($_.Exception.Message)" } } else { Write-Debug "SecretManagement not available - no vault token to remove for '$ServerName'" } } |