Private/Utilities/Save-TicketSystemPreference.ps1
|
function Save-TicketSystemPreference { <# .SYNOPSIS Saves the user's ticket system preference. .PARAMETER System The ticket system name to save. #> [CmdletBinding()] param( [Parameter(Mandatory)] [string]$System ) $prefsDir = Join-Path $env:LOCALAPPDATA "PIMActivation" $prefsPath = Join-Path $prefsDir "preferences.json" # Ensure directory exists if (-not (Test-Path $prefsDir)) { New-Item -ItemType Directory -Path $prefsDir -Force | Out-Null } try { # Load existing preferences or create new $prefs = if (Test-Path $prefsPath) { Get-Content $prefsPath -Raw | ConvertFrom-Json } else { [PSCustomObject]@{} } # Update ticket system $prefs | Add-Member -NotePropertyName TicketSystem -NotePropertyValue $System -Force # Save $prefs | ConvertTo-Json | Set-Content $prefsPath -Force Write-Verbose "Saved ticket system preference: $System" } catch { Write-Warning "Failed to save ticket system preference: $_" } } |