refactor: rename NoRestartExplorer parameter to SkipExplorerRestart (#709)

The old `NoRestartExplorer` parameter is kept as an alias and will
continue to work, but is considered deprecated
This commit is contained in:
Jeffrey
2026-07-19 22:58:03 +02:00
committed by GitHub
parent 9c033dbf98
commit a9c1736e46
7 changed files with 20 additions and 9 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ function Invoke-RestartExplorer {
Write-Host "> Attempting to restart the Windows Explorer process to apply all changes..." Write-Host "> Attempting to restart the Windows Explorer process to apply all changes..."
if ($script:Params.ContainsKey("NoRestartExplorer")) { if ($script:Params.ContainsKey('SkipExplorerRestart')) {
Write-Host "Explorer process restart was skipped, please manually reboot your PC to apply all changes" -ForegroundColor Yellow Write-Host "Explorer process restart was skipped, please manually reboot your PC to apply all changes" -ForegroundColor Yellow
return return
} }
+1 -1
View File
@@ -777,7 +777,7 @@ function Show-MainWindow {
} }
$restartExplorerCheckBox = $window.FindName('RestartExplorerCheckBox') $restartExplorerCheckBox = $window.FindName('RestartExplorerCheckBox')
if ($restartExplorerCheckBox -and $script:Params.ContainsKey("NoRestartExplorer")) { if ($restartExplorerCheckBox -and $script:Params.ContainsKey('SkipExplorerRestart')) {
$restartExplorerCheckBox.IsChecked = $false $restartExplorerCheckBox.IsChecked = $false
$restartExplorerCheckBox.IsEnabled = $false $restartExplorerCheckBox.IsEnabled = $false
} }
+2 -1
View File
@@ -7,7 +7,8 @@ param (
[switch]$Sysprep, [switch]$Sysprep,
[string]$LogPath, [string]$LogPath,
[string]$User, [string]$User,
[switch]$NoRestartExplorer, [Alias('NoRestartExplorer')]
[switch]$SkipExplorerRestart,
[switch]$CreateRestorePoint, [switch]$CreateRestorePoint,
[switch]$RunDefaults, [switch]$RunDefaults,
[switch]$RunDefaultsLite, [switch]$RunDefaultsLite,
+1 -1
View File
@@ -82,7 +82,7 @@ function Import-ConfigToParams {
} }
if ($deploymentLookup.ContainsKey('RestartExplorer') -and -not [bool]$deploymentLookup['RestartExplorer']) { if ($deploymentLookup.ContainsKey('RestartExplorer') -and -not [bool]$deploymentLookup['RestartExplorer']) {
Add-Parameter 'NoRestartExplorer' Add-Parameter 'SkipExplorerRestart'
$importedItems++ $importedItems++
} }
+1 -1
View File
@@ -31,7 +31,7 @@ Describe 'Import-ConfigToParams' {
$script:Params[$featureId] | Should -BeTrue $script:Params[$featureId] | Should -BeTrue
} }
$script:Params['CreateRestorePoint'] | Should -BeTrue $script:Params['CreateRestorePoint'] | Should -BeTrue
$script:Params['NoRestartExplorer'] | Should -BeTrue $script:Params['SkipExplorerRestart'] | Should -BeTrue
$script:Params.ContainsKey('User') | Should -BeFalse $script:Params.ContainsKey('User') | Should -BeFalse
$script:Params.ContainsKey('AppRemovalTarget') | Should -BeFalse $script:Params.ContainsKey('AppRemovalTarget') | Should -BeFalse
} }
+10 -1
View File
@@ -56,12 +56,21 @@ Describe 'Test-ModernStandbySupport' {
Mock Stop-Process {} Mock Stop-Process {}
$script:Params = @{ WhatIf = $true } $script:Params = @{ WhatIf = $true }
Invoke-RestartExplorer Invoke-RestartExplorer
$script:Params = @{ NoRestartExplorer = $true } $script:Params = @{ SkipExplorerRestart = $true }
Invoke-RestartExplorer Invoke-RestartExplorer
Should -Invoke Stop-Process -Times 0 -Exactly Should -Invoke Stop-Process -Times 0 -Exactly
} }
It 'treats NoRestartExplorer as a backward-compatible alias for SkipExplorerRestart' {
# Verify the alias is declared on Win11Debloat.ps1's canonical parameter,
# so legacy callers using -NoRestartExplorer continue to work without code duplication.
$command = Get-Command (Join-Path $PSScriptRoot '..\Win11Debloat.ps1')
$skipParam = $command.Parameters['SkipExplorerRestart']
$skipParam | Should -Not -BeNullOrEmpty
$skipParam.Aliases | Should -Contain 'NoRestartExplorer'
}
It 'restarts Explorer when allowed and reports reboot-required features' { It 'restarts Explorer when allowed and reports reboot-required features' {
Mock Stop-Process {} Mock Stop-Process {}
Mock Get-RebootFeatureLabels { @('Disable telemetry') } Mock Get-RebootFeatureLabels { @('Disable telemetry') }
+3 -2
View File
@@ -5,7 +5,8 @@ param (
[switch]$Sysprep, [switch]$Sysprep,
[string]$LogPath, [string]$LogPath,
[string]$User, [string]$User,
[switch]$NoRestartExplorer, [Alias('NoRestartExplorer')]
[switch]$SkipExplorerRestart,
[switch]$CreateRestorePoint, [switch]$CreateRestorePoint,
[switch]$RunDefaults, [switch]$RunDefaults,
[switch]$RunDefaultsLite, [switch]$RunDefaultsLite,
@@ -185,7 +186,7 @@ $script:RestoreBackupWindowSchema = Join-Path $schemasPath 'RestoreBackupWindow.
$script:LoadAppsDetailsScriptPath = Join-Path (Join-Path $scriptsPath 'FileIO') 'Import-AppDetailsFromJson.ps1' $script:LoadAppsDetailsScriptPath = Join-Path (Join-Path $scriptsPath 'FileIO') 'Import-AppDetailsFromJson.ps1'
$script:TestAppInWingetListScriptPath = Join-Path (Join-Path $scriptsPath 'AppRemoval') 'Test-AppInWingetList.ps1' $script:TestAppInWingetListScriptPath = Join-Path (Join-Path $scriptsPath 'AppRemoval') 'Test-AppInWingetList.ps1'
$script:ControlParams = 'WhatIf', 'Confirm', 'Verbose', 'Debug', 'LogPath', 'Silent', 'Sysprep', 'User', 'NoRestartExplorer', 'RunDefaults', 'RunDefaultsLite', 'RunSavedSettings', 'Config', 'CLI', 'AppRemovalTarget' $script:ControlParams = 'WhatIf', 'Confirm', 'Verbose', 'Debug', 'LogPath', 'Silent', 'Sysprep', 'User', 'SkipExplorerRestart', 'RunDefaults', 'RunDefaultsLite', 'RunSavedSettings', 'Config', 'CLI', 'AppRemovalTarget'
# Script-level variables for GUI elements # Script-level variables for GUI elements
$script:GuiWindow = $null $script:GuiWindow = $null