From a09736f9a89d73b1b722544a54ad20a7b3b995e5 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 19 May 2026 21:13:27 +0300 Subject: [PATCH] Cleanup Get-WinUtilToggleStatus.ps1 (#4497) * Cleanup Get-WinUtilToggleStatus.ps1 * Update Get-WinUtilToggleStatus.ps1 * Merge branch 'main' into patch-9 * Update Get-WinUtilToggleStatus.ps1 --- functions/private/Get-WinUtilToggleStatus.ps1 | 85 +++++-------------- 1 file changed, 22 insertions(+), 63 deletions(-) diff --git a/functions/private/Get-WinUtilToggleStatus.ps1 b/functions/private/Get-WinUtilToggleStatus.ps1 index f96109fa..5d033bef 100644 --- a/functions/private/Get-WinUtilToggleStatus.ps1 +++ b/functions/private/Get-WinUtilToggleStatus.ps1 @@ -1,78 +1,37 @@ Function Get-WinUtilToggleStatus { - <# - - .SYNOPSIS - Pulls the registry keys for the given toggle switch and checks whether the toggle should be checked or unchecked - - .PARAMETER ToggleSwitch - The name of the toggle to check - - .OUTPUTS - Boolean to set the toggle's status to - - #> - - Param($ToggleSwitch) - - $ToggleSwitchReg = $sync.configs.tweaks.$ToggleSwitch.registry - - try { - if (($ToggleSwitchReg.path -imatch "hku") -and !(Get-PSDrive -Name HKU -ErrorAction SilentlyContinue)) { - $null = (New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS) - if (Get-PSDrive -Name HKU -ErrorAction SilentlyContinue) { - Write-Debug "HKU drive created successfully." - } else { - Write-Debug "Failed to create HKU drive." - } - } - } catch { - Write-Error "An error occurred regarding the HKU Drive: $_" + if (-not $ToggleSwitchReg) { return $false } - if ($ToggleSwitchReg) { - $count = 0 + New-PSDrive -Name HKU -PSProvider Registry -Root HKEY_USERS - foreach ($regentry in $ToggleSwitchReg) { - try { - if (!(Test-Path $regentry.Path)) { - New-Item -Path $regentry.Path -Force | Out-Null + foreach ($regentry in $ToggleSwitchReg) { + + if (-not (Test-Path $regentry.Path)) { + New-Item -Path $regentry.Path -Force | Out-Null + } + + $regstate = (Get-ItemProperty -Path $regentry.Path).$($regentry.Name) + + if ($null -eq $regstate) { + switch ($regentry.DefaultState) { + "true" { + $regstate = $regentry.Value } - $regstate = (Get-ItemProperty -path $regentry.Path).$($regentry.Name) - if ($regstate -eq $regentry.Value) { - $count += 1 - Write-Debug "$($regentry.Name) is true (state: $regstate, value: $($regentry.Value), original: $($regentry.OriginalValue))" - } else { - Write-Debug "$($regentry.Name) is false (state: $regstate, value: $($regentry.Value), original: $($regentry.OriginalValue))" + "false" { + $regstate = $regentry.OriginalValue } - if ($null -eq $regstate) { - switch ($regentry.DefaultState) { - "true" { - $regstate = $regentry.Value - $count += 1 - } - "false" { - $regstate = $regentry.OriginalValue - } - default { - Write-Error "Entry for $($regentry.Name) does not exist and no DefaultState is defined." - $regstate = $regentry.OriginalValue - } - } + default { + Write-Error "Entry $($regentry.Name): missing value and no DefaultState" + $regstate = $regentry.OriginalValue } - } catch { - Write-Error "An unexpected error occurred: $_" } } - if ($count -eq $ToggleSwitchReg.Count) { - Write-Debug "$($ToggleSwitchReg.Name) is true (count: $count)" - return $true - } else { - Write-Debug "$($ToggleSwitchReg.Name) is false (count: $count)" + if ($regstate -ne $regentry.Value) { return $false } - } else { - return $false } + + return $true }