Skip to content

Commit

Permalink
Running script with -Verbose parameter now shows app uninstall progre…
Browse files Browse the repository at this point in the history
…ss bars

Linting
  • Loading branch information
Raphire committed Aug 17, 2024
1 parent 60f944d commit dc9a15a
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 13 deletions.
5 changes: 3 additions & 2 deletions Get.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[CmdletBinding(SupportsShouldProcess)]
param (
[switch]$Silent,
[switch]$Sysprep,
Expand Down Expand Up @@ -59,7 +60,7 @@ Write-Output "> Downloading Win11Debloat..."
Invoke-WebRequest http://github.com/raphire/win11debloat/archive/master.zip -OutFile "$env:TEMP/win11debloat-temp.zip"

# Remove old script folder if it exists
if(Test-Path "$env:TEMP/Win11Debloat") {
if (Test-Path "$env:TEMP/Win11Debloat") {
Write-Output ""
Write-Output "> Cleaning up old Win11Debloat folder..."
Remove-Item -LiteralPath "$env:TEMP/Win11Debloat" -Force -Recurse
Expand All @@ -84,7 +85,7 @@ Write-Output "> Running Win11Debloat..."
$debloatProcess = Start-Process powershell.exe -PassThru -ArgumentList "-executionpolicy bypass -File $env:TEMP\Win11Debloat\Win11Debloat-master\Win11Debloat.ps1 $arguments" -Verb RunAs

# Wait for the process to finish before continuing
if($debloatProcess -ne $null) {
if ($null -ne $debloatProcess) {
$debloatProcess.WaitForExit()
}

Expand Down
29 changes: 18 additions & 11 deletions Win11Debloat.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -100,31 +100,31 @@ function ShowAppSelectionForm {
$selectionBox_MouseDown=
{
if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Left) {
if([System.Windows.Forms.Control]::ModifierKeys -eq [System.Windows.Forms.Keys]::Shift) {
if($global:selectionBoxIndex -ne -1) {
if ([System.Windows.Forms.Control]::ModifierKeys -eq [System.Windows.Forms.Keys]::Shift) {
if ($global:selectionBoxIndex -ne -1) {
$topIndex = $global:selectionBoxIndex

if ($selectionBox.SelectedIndex -gt $topIndex) {
for(($i = ($topIndex)); $i -le $selectionBox.SelectedIndex; $i++){
for (($i = ($topIndex)); $i -le $selectionBox.SelectedIndex; $i++){
$selectionBox.SetItemChecked($i, $selectionBox.GetItemChecked($topIndex))
}
}
elseif ($topIndex -gt $selectionBox.SelectedIndex) {
for(($i = ($selectionBox.SelectedIndex)); $i -le $topIndex; $i++){
for (($i = ($selectionBox.SelectedIndex)); $i -le $topIndex; $i++){
$selectionBox.SetItemChecked($i, $selectionBox.GetItemChecked($topIndex))
}
}
}
}
elseif($global:selectionBoxIndex -ne $selectionBox.SelectedIndex) {
elseif ($global:selectionBoxIndex -ne $selectionBox.SelectedIndex) {
$selectionBox.SetItemChecked($selectionBox.SelectedIndex, -not $selectionBox.GetItemChecked($selectionBox.SelectedIndex))
}
}
}

$check_All=
{
for(($i = 0); $i -lt $selectionBox.Items.Count; $i++){
for (($i = 0); $i -lt $selectionBox.Items.Count; $i++){
$selectionBox.SetItemChecked($i, $checkUncheckCheckBox.Checked)
}
}
Expand Down Expand Up @@ -391,7 +391,7 @@ function ForceRemoveEdge {

# Remove edge
$uninstallRegKey = $hklm.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Edge')
if($uninstallRegKey -ne $null) {
if ($null -ne $uninstallRegKey) {
Write-Output "Running uninstaller..."
$uninstallString = $uninstallRegKey.GetValue('UninstallString') + ' --force-uninstall'
Start-Process cmd.exe "/c $uninstallString" -WindowStyle Hidden -Wait
Expand Down Expand Up @@ -513,6 +513,7 @@ function ReplaceStartMenuForAllUsers {
# Check if template bin file exists, return early if it doesn't
if (-not (Test-Path $startMenuTemplate)) {
Write-Host "Error: Unable to clear start menu, start2.bin file missing from script folder" -ForegroundColor Red
Write-Output ""
return
}

Expand Down Expand Up @@ -609,7 +610,7 @@ function PrintHeader {

$fullTitle = " Win11Debloat Script - $title"

if($global:Params.ContainsKey("Sysprep")) {
if ($global:Params.ContainsKey("Sysprep")) {
$fullTitle = "$fullTitle (Sysprep mode)"
}
else {
Expand Down Expand Up @@ -675,9 +676,6 @@ else {
# Get current Windows build version to compare against features
$WinVersion = Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' CurrentBuild

# Hide progress bars for app removal, as they block Win11Debloat's output
$ProgressPreference = 'SilentlyContinue'

$global:Params = $PSBoundParameters
$global:FirstSelection = $true
$SPParams = 'WhatIf', 'Confirm', 'Verbose', 'Silent', 'Sysprep'
Expand All @@ -691,6 +689,15 @@ foreach ($Param in $SPParams) {
}
}

# Hide progress bars for app removal, as they block Win11Debloat's output
if (-not ($global:Params.ContainsKey("Verbose"))) {
$ProgressPreference = 'SilentlyContinue'
}
else {
Read-Host "Verbose mode is enabled, press enter to continue"
$ProgressPreference = 'Continue'
}

if ($global:Params.ContainsKey("Sysprep")) {
# Exit script if default user directory or NTUSER.DAT file cannot be found
if (-not (Test-Path "C:\Users\Default\NTUSER.DAT")) {
Expand Down

0 comments on commit dc9a15a

Please sign in to comment.