From fb1a0b919cf6c5be0cfa6680223db7dd588b6f5c Mon Sep 17 00:00:00 2001 From: Chris Titus Date: Tue, 30 Jul 2024 21:33:30 -0500 Subject: [PATCH 01/80] Update pre-release.yaml bug fix and error handling --- .github/workflows/pre-release.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pre-release.yaml b/.github/workflows/pre-release.yaml index 34e04d32..2b8835a7 100644 --- a/.github/workflows/pre-release.yaml +++ b/.github/workflows/pre-release.yaml @@ -14,11 +14,11 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 - - name: Extract Version from winutil.ps1 + - name: Set Version to Todays Date id: extract_version run: | $version = (Get-Date -Format "yy.MM.dd") - echo "version=$version" >> $env:GITHUB_ENV + echo "VERSION=$version" >> $env:GITHUB_ENV shell: pwsh - name: Create Tag @@ -27,7 +27,15 @@ jobs: $tagExists = git tag -l $env:VERSION if ($tagExists -eq "") { git tag $env:VERSION + if ($LASTEXITCODE -ne 0) { + Write-Error "Failed to create tag $env:VERSION" + exit 1 + } git push origin $env:VERSION + if ($LASTEXITCODE -ne 0) { + Write-Error "Failed to push tag $env:VERSION" + exit 1 + } } else { Write-Host "Tag $env:VERSION already exists, skipping tag creation" } @@ -45,4 +53,4 @@ jobs: prerelease: true generate_release_notes: true env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 2a530d0c12ea8f17b3a81d0d7a9da9108d84030e Mon Sep 17 00:00:00 2001 From: Chris Titus Date: Tue, 30 Jul 2024 21:41:52 -0500 Subject: [PATCH 02/80] Update createchangelog.yml --- .github/workflows/createchangelog.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/createchangelog.yml b/.github/workflows/createchangelog.yml index 6251f9a5..8cf058bc 100644 --- a/.github/workflows/createchangelog.yml +++ b/.github/workflows/createchangelog.yml @@ -3,7 +3,12 @@ name: Update changelog.md on Release on: release: types: [published, created, edited, deleted] - workflow_dispatch: # Add this line to enable manual triggering + workflow_dispatch: + inputs: + reason: + description: 'Reason for manual trigger' + required: false + default: 'Manual update' jobs: update-file: @@ -18,7 +23,7 @@ jobs: # Initialize some values changelog_path="docs/changelog.md" gh release list --exclude-drafts --json tagName,name,isLatest,isPrerelease --limit 1000000 > releases.txt - declare -rA number_of_releases=$(cat releases.txt | grep -Po '"tagName"' | wc --lines) + declare -r number_of_releases=$(cat releases.txt | grep -Po '"tagName"' | wc --lines) # Clear the contents of changelog file echo "" > $changelog_path @@ -91,7 +96,7 @@ jobs: name=${name_arr[$i]} isprerelease=${isprerelease_arr[$i]} islatest=${islatest_arr[$i]} - body=$(gh release view "$tag" --json body --jq .body) + body=$(gh release view "$tag" --json body --jq .body) || { echo "Failed to fetch release body for $tag"; exit 1; } # The generation of changelog file contents echo "# $name" >> $changelog_path @@ -109,5 +114,4 @@ jobs: git config --global user.name 'github-actions[bot]' git config --global user.email 'github-actions[bot]@users.noreply.github.com' git add docs/changelog.md - git commit -m "Update changelog.md with all releases" - git push + git diff --quiet && git diff --staged --quiet || (git commit -m "Update changelog.md with all releases" && git push) \ No newline at end of file From 80675b4c3fbf59890e603e6a6222e5920fe3d864 Mon Sep 17 00:00:00 2001 From: Chris Titus Date: Fri, 2 Aug 2024 18:51:50 -0500 Subject: [PATCH 03/80] add code signing to ps1 file --- .github/workflows/compile.yaml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile.yaml b/.github/workflows/compile.yaml index d835423b..63422538 100644 --- a/.github/workflows/compile.yaml +++ b/.github/workflows/compile.yaml @@ -10,6 +10,8 @@ on: jobs: build-runspace: runs-on: windows-latest + env: + CERTIFICATE_BASE64: ${{ secrets.CERTIFICATE_BASE64 }} steps: - uses: actions/checkout@v4 with: @@ -19,7 +21,18 @@ jobs: run: | Set-ExecutionPolicy Bypass -Scope Process -Force; ./Compile.ps1 continue-on-error: false # Directly fail the job on error, removing the need for a separate check + - name: Create and import code signing certificate + shell: pwsh + run: | + [System.IO.File]::WriteAllBytes("$env:USERPROFILE\code-signing-cert.pfx", [System.Convert]::FromBase64String("$env:CERTIFICATE_BASE64")) + Import-PfxCertificate -FilePath "$env:USERPROFILE\code-signing-cert.pfx" -CertStoreLocation Cert:\CurrentUser\My + - name: Code sign winutil.ps1 + shell: pwsh + run: | + $cert = Get-ChildItem -Path Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1 + if ($null -eq $cert) { throw "Code signing certificate not found" } + Set-AuthenticodeSignature -FilePath ./winutil.ps1 -Certificate $cert - uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: Compile Winutil - if: success() + if: success() \ No newline at end of file From 1350013b3eb17e6f10c225c40a6a19f2833fe7a2 Mon Sep 17 00:00:00 2001 From: ChrisTitusTech Date: Fri, 2 Aug 2024 23:52:14 +0000 Subject: [PATCH 04/80] Compile Winutil --- winutil.ps1 | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 2 deletions(-) diff --git a/winutil.ps1 b/winutil.ps1 index e6e5c218..7da02964 100644 --- a/winutil.ps1 +++ b/winutil.ps1 @@ -8,7 +8,7 @@ Author : Chris Titus @christitustech Runspace Author: @DeveloperDurp GitHub : https://github.com/ChrisTitusTech - Version : 24.07.31 + Version : 24.08.02 #> param ( [switch]$Debug, @@ -45,7 +45,7 @@ Add-Type -AssemblyName System.Windows.Forms # Variable to sync between runspaces $sync = [Hashtable]::Synchronized(@{}) $sync.PSScriptRoot = $PSScriptRoot -$sync.version = "24.07.31" +$sync.version = "24.08.02" $sync.configs = @{} $sync.ProcessRunning = $false @@ -15889,3 +15889,93 @@ $sync["SponsorMenuItem"].Add_Click({ }) $sync["Form"].ShowDialog() | out-null Stop-Transcript + +# SIG # Begin signature block +# MIIQRwYJKoZIhvcNAQcCoIIQODCCEDQCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAYKKrwWkHnslPJ +# oKJY7gmwr0RIKMVNr/fa063kKUxPkKCCDIMwggYaMIIEAqADAgECAhBiHW0MUgGe +# O5B5FSCJIRwKMA0GCSqGSIb3DQEBDAUAMFYxCzAJBgNVBAYTAkdCMRgwFgYDVQQK +# Ew9TZWN0aWdvIExpbWl0ZWQxLTArBgNVBAMTJFNlY3RpZ28gUHVibGljIENvZGUg +# U2lnbmluZyBSb290IFI0NjAeFw0yMTAzMjIwMDAwMDBaFw0zNjAzMjEyMzU5NTla +# MFQxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxKzApBgNV +# BAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmluZyBDQSBSMzYwggGiMA0GCSqG +# SIb3DQEBAQUAA4IBjwAwggGKAoIBgQCbK51T+jU/jmAGQ2rAz/V/9shTUxjIztNs +# fvxYB5UXeWUzCxEeAEZGbEN4QMgCsJLZUKhWThj/yPqy0iSZhXkZ6Pg2A2NVDgFi +# gOMYzB2OKhdqfWGVoYW3haT29PSTahYkwmMv0b/83nbeECbiMXhSOtbam+/36F09 +# fy1tsB8je/RV0mIk8XL/tfCK6cPuYHE215wzrK0h1SWHTxPbPuYkRdkP05ZwmRmT +# nAO5/arnY83jeNzhP06ShdnRqtZlV59+8yv+KIhE5ILMqgOZYAENHNX9SJDm+qxp +# 4VqpB3MV/h53yl41aHU5pledi9lCBbH9JeIkNFICiVHNkRmq4TpxtwfvjsUedyz8 +# rNyfQJy/aOs5b4s+ac7IH60B+Ja7TVM+EKv1WuTGwcLmoU3FpOFMbmPj8pz44MPZ +# 1f9+YEQIQty/NQd/2yGgW+ufflcZ/ZE9o1M7a5Jnqf2i2/uMSWymR8r2oQBMdlyh +# 2n5HirY4jKnFH/9gRvd+QOfdRrJZb1sCAwEAAaOCAWQwggFgMB8GA1UdIwQYMBaA +# FDLrkpr/NZZILyhAQnAgNpFcF4XmMB0GA1UdDgQWBBQPKssghyi47G9IritUpimq +# F6TNDDAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADATBgNVHSUE +# DDAKBggrBgEFBQcDAzAbBgNVHSAEFDASMAYGBFUdIAAwCAYGZ4EMAQQBMEsGA1Ud +# HwREMEIwQKA+oDyGOmh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1B1Ymxp +# Y0NvZGVTaWduaW5nUm9vdFI0Ni5jcmwwewYIKwYBBQUHAQEEbzBtMEYGCCsGAQUF +# BzAChjpodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3RpZ29QdWJsaWNDb2RlU2ln +# bmluZ1Jvb3RSNDYucDdjMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdv +# LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEABv+C4XdjNm57oRUgmxP/BP6YdURhw1aV +# cdGRP4Wh60BAscjW4HL9hcpkOTz5jUug2oeunbYAowbFC2AKK+cMcXIBD0ZdOaWT +# syNyBBsMLHqafvIhrCymlaS98+QpoBCyKppP0OcxYEdU0hpsaqBBIZOtBajjcw5+ +# w/KeFvPYfLF/ldYpmlG+vd0xqlqd099iChnyIMvY5HexjO2AmtsbpVn0OhNcWbWD +# RF/3sBp6fWXhz7DcML4iTAWS+MVXeNLj1lJziVKEoroGs9Mlizg0bUMbOalOhOfC +# ipnx8CaLZeVme5yELg09Jlo8BMe80jO37PU8ejfkP9/uPak7VLwELKxAMcJszkye +# iaerlphwoKx1uHRzNyE6bxuSKcutisqmKL5OTunAvtONEoteSiabkPVSZ2z76mKn +# zAfZxCl/3dq3dUNw4rg3sTCggkHSRqTqlLMS7gjrhTqBmzu1L90Y1KWN/Y5JKdGv +# spbOrTfOXyXvmPL6E52z1NZJ6ctuMFBQZH3pwWvqURR8AgQdULUvrxjUYbHHj95E +# jza63zdrEcxWLDX6xWls/GDnVNueKjWUH3fTv1Y8Wdho698YADR7TNx8X8z2Bev6 +# SivBBOHY+uqiirZtg0y9ShQoPzmCcn63Syatatvx157YK9hlcPmVoa1oDE5/L9Uo +# 2bC5a4CH2RwwggZhMIIEyaADAgECAhAmzTnZ/yhC019IbbKDBpvFMA0GCSqGSIb3 +# DQEBDAUAMFQxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQx +# KzApBgNVBAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmluZyBDQSBSMzYwHhcN +# MjIwNTMwMDAwMDAwWhcNMjUwNTI5MjM1OTU5WjBVMQswCQYDVQQGEwJVUzEOMAwG +# A1UECAwFVGV4YXMxGjAYBgNVBAoMEUNUIFRFQ0ggR1JPVVAgTExDMRowGAYDVQQD +# DBFDVCBURUNIIEdST1VQIExMQzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +# ggIBALDxiKQHPvjYMWMVlH40AhqVOaVq9mWPSezrfgN3UAeuJFj1zwOzQfHD1WZj +# +eQtej48zIt3YHLKpy0VEHvtkFL7yqmuTrXbhGv55PggiMYp0hh0jv7vpFSsnShv +# wsaneTWBy0v6EaK/qQ8a7tZCwEnfVE4cRepdPdfdpMG0AaiK+GWjfqh/lUdtJT9K +# W2/SyTOuEFhb/+1ltsnmdoBSqj6mzk5FYXJIWH4193Gdq65j6EZeSFv0ev7tN3Zp +# 1w7oc/J7odI0zxNZJW/E6v3cG3oBfdwy2mmfl6KBzP7ulzCh/oj1vYFGxpiBvy4w +# fyblnhYnmk+VU2vwt5RobQYpFpOU2+b7v6RC8DlCScsFt16QtA7l6sBgf2Sg8OOe +# Be6x29lRwHvcBni9Ih1VFnRJ5T5QkEIqgT18fY5+SLXmMj495fJbEwZkUr1NKIwn +# ivZgnp66ImKgYSwwB7U/A4vdCqnAlo8po28vYq+yzuBsaOjUFhi9MWRpPPaaI4aw +# 8UkzwVwdTxYBl1JXYrwTxsEA6dIiVxBhKnT3uKJcN6EwEHO3wnQGrWAgxQZWuHXQ +# +gX5lQb6bdalEdXc0hiIQx7g/Fu2pQTcmzT7Lk//vu43RAOmxJOUOo6rkNmLuzkk +# aSpPdJftm9GOnQ6J+pbs+mZGq07A+EqbX3gwCD2o2fbDkE6PAgMBAAGjggGsMIIB +# qDAfBgNVHSMEGDAWgBQPKssghyi47G9IritUpimqF6TNDDAdBgNVHQ4EFgQUjnXb +# LNZOgoZYQySE6eTTsyBbMYYwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAw +# EwYDVR0lBAwwCgYIKwYBBQUHAwMwSgYDVR0gBEMwQTA1BgwrBgEEAbIxAQIBAwIw +# JTAjBggrBgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQQB +# MEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln +# b1B1YmxpY0NvZGVTaWduaW5nQ0FSMzYuY3JsMHkGCCsGAQUFBwEBBG0wazBEBggr +# BgEFBQcwAoY4aHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljQ29k +# ZVNpZ25pbmdDQVIzNi5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3Rp +# Z28uY29tMCEGA1UdEQQaMBiBFmNvbnRhY3RAY2hyaXN0aXR1cy5jb20wDQYJKoZI +# hvcNAQEMBQADggGBADkTnvLMHdIb3hPzKixR3B7XaLL/92r0e7mQU6N4p8IZriTi +# 6j0PjZGm9HN7K7UNJjTysnBsdeZGat517qfC9BLn6OZyiZjKXSW6EEhTm37Ryg/k +# mfG+GsolkcY/4QnUz5hizj7Q3HVrIX5RduY1QwrlD/nkwAdycMvEXzHTNH7as9kN +# 3vpWZr6VBy11gXOLLS7+kKaxwzndY/0xQER6RozNoKsRW6Vx08qF2nHDXygeXHla +# iBz17QpqYZQ+i4aMkkG2xMkjzQIjwxOAANbpWEGmSBV4fw/JtEOlBGfEw/kadPsT +# rUpVf+a+BMMY+QFGV/tYBkTYTnIUGEpiR/OgZ6pZLo2uIri4KLYLjwIgV6lip5+Q +# VxdSTYQKuUhWqpUILtnGYluaYd4PLgBgMSpYBNS5NEqqMVqbhhwRluPKEPySjwYG +# pRKP9RT6ke5BHVxuq+FWixnCSoIIXPh/NvCa0eqtRqdCiAy15bi+FkV/Ag5fPoxF +# FAEDM6FnXN5M3H53bDGCAxowggMWAgEBMGgwVDELMAkGA1UEBhMCR0IxGDAWBgNV +# BAoTD1NlY3RpZ28gTGltaXRlZDErMCkGA1UEAxMiU2VjdGlnbyBQdWJsaWMgQ29k +# ZSBTaWduaW5nIENBIFIzNgIQJs052f8oQtNfSG2ygwabxTANBglghkgBZQMEAgEF +# AKCBhDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgor +# BgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3 +# DQEJBDEiBCAMVvx1WQh8Gjcsv7aaAqFSlSbMa0gmJz+KI3u6zAtYxjANBgkqhkiG +# 9w0BAQEFAASCAgAAjr/Jhc9scLyJxX4GwDKw4+QG66oZJFPMX8HL8hwGWkiYMAm9 +# lNUOdDa/m5FTh4hB6+OVhmrO/MnAfTSDo826ID+0YF1B7sEAqKxSNwXuBmUdo/De +# gw6S4F6JG0PwvGbnNvuSek4k19sfMADrOZsCIHxosA58VMJRf/7OFazwJ9sQQRj7 +# 0dd9d2GV4W/MgBcFfwS6FwcTsL3OplnGHMrBXrZKRKf6P1bt9IIBrGifBCDPQize +# LARvQL/C9JFPKQs1htK0V1sWEqPV5OcP4ZTtMGyyWMB52brwrZSzK7UIm+plLlt+ +# MYxWGeRfsS802LGcdtWeZOk/PNFrIMge2jjAbGkY3KeU1kQ2a8/qLtiQFnYYKMJz +# ZAAgYy11K83k8eQNEp8VQXAQtXv6EFzaJKycedY4FgSm+tqLQpINjk1X9jjUpRXf +# 8DBlwLyRUGWLAp6dbCRYAsJzeHQL3uz6n/5ag1h50JaNKKWq0fPZjn3jjVSTfVS6 +# 1LawijrdsOdvL6TcCKeTl2p8i8NXx06NJNgunIMV2REGR0gM3rQ4MauZG9n+1fAt +# JeM+dWxwbGo3UQQ+WuBWIXvbyzp1Dtxt4kUklDegXEMs271JYMaVp9IquYayPJxk +# 73LjAnFl7haGSwksPqAR/3I8v7WOGa22SQQn8E9zIObXf+caePDsvbTX7w== +# SIG # End signature block From 5a8905353473181671bbfa740995bb2bfb6130fe Mon Sep 17 00:00:00 2001 From: Chris Titus Date: Fri, 2 Aug 2024 19:01:44 -0500 Subject: [PATCH 05/80] Update compile.yaml --- .github/workflows/compile.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/compile.yaml b/.github/workflows/compile.yaml index 63422538..c2fb6b9e 100644 --- a/.github/workflows/compile.yaml +++ b/.github/workflows/compile.yaml @@ -32,6 +32,11 @@ jobs: $cert = Get-ChildItem -Path Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1 if ($null -eq $cert) { throw "Code signing certificate not found" } Set-AuthenticodeSignature -FilePath ./winutil.ps1 -Certificate $cert + - name: Upload winutil.ps1 as artifact + uses: actions/upload-artifact@v2 + with: + name: winutil + path: ./winutil.ps1 - uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: Compile Winutil From c2addcfedf35811b26b71052dfc9e3ccb154f904 Mon Sep 17 00:00:00 2001 From: ChrisTitusTech Date: Sat, 3 Aug 2024 00:02:22 +0000 Subject: [PATCH 06/80] Compile Winutil --- winutil.ps1 | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/winutil.ps1 b/winutil.ps1 index 7da02964..34269601 100644 --- a/winutil.ps1 +++ b/winutil.ps1 @@ -8,7 +8,7 @@ Author : Chris Titus @christitustech Runspace Author: @DeveloperDurp GitHub : https://github.com/ChrisTitusTech - Version : 24.08.02 + Version : 24.08.03 #> param ( [switch]$Debug, @@ -45,7 +45,7 @@ Add-Type -AssemblyName System.Windows.Forms # Variable to sync between runspaces $sync = [Hashtable]::Synchronized(@{}) $sync.PSScriptRoot = $PSScriptRoot -$sync.version = "24.08.02" +$sync.version = "24.08.03" $sync.configs = @{} $sync.ProcessRunning = $false @@ -15893,8 +15893,8 @@ Stop-Transcript # SIG # Begin signature block # MIIQRwYJKoZIhvcNAQcCoIIQODCCEDQCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG -# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAYKKrwWkHnslPJ -# oKJY7gmwr0RIKMVNr/fa063kKUxPkKCCDIMwggYaMIIEAqADAgECAhBiHW0MUgGe +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCpr3PCAiIU+717 +# XjBk+klB20McRwzbj5pzZuVN6LMCqqCCDIMwggYaMIIEAqADAgECAhBiHW0MUgGe # O5B5FSCJIRwKMA0GCSqGSIb3DQEBDAUAMFYxCzAJBgNVBAYTAkdCMRgwFgYDVQQK # Ew9TZWN0aWdvIExpbWl0ZWQxLTArBgNVBAMTJFNlY3RpZ28gUHVibGljIENvZGUg # U2lnbmluZyBSb290IFI0NjAeFw0yMTAzMjIwMDAwMDBaFw0zNjAzMjEyMzU5NTla @@ -15966,16 +15966,16 @@ Stop-Transcript # ZSBTaWduaW5nIENBIFIzNgIQJs052f8oQtNfSG2ygwabxTANBglghkgBZQMEAgEF # AKCBhDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgor # BgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3 -# DQEJBDEiBCAMVvx1WQh8Gjcsv7aaAqFSlSbMa0gmJz+KI3u6zAtYxjANBgkqhkiG -# 9w0BAQEFAASCAgAAjr/Jhc9scLyJxX4GwDKw4+QG66oZJFPMX8HL8hwGWkiYMAm9 -# lNUOdDa/m5FTh4hB6+OVhmrO/MnAfTSDo826ID+0YF1B7sEAqKxSNwXuBmUdo/De -# gw6S4F6JG0PwvGbnNvuSek4k19sfMADrOZsCIHxosA58VMJRf/7OFazwJ9sQQRj7 -# 0dd9d2GV4W/MgBcFfwS6FwcTsL3OplnGHMrBXrZKRKf6P1bt9IIBrGifBCDPQize -# LARvQL/C9JFPKQs1htK0V1sWEqPV5OcP4ZTtMGyyWMB52brwrZSzK7UIm+plLlt+ -# MYxWGeRfsS802LGcdtWeZOk/PNFrIMge2jjAbGkY3KeU1kQ2a8/qLtiQFnYYKMJz -# ZAAgYy11K83k8eQNEp8VQXAQtXv6EFzaJKycedY4FgSm+tqLQpINjk1X9jjUpRXf -# 8DBlwLyRUGWLAp6dbCRYAsJzeHQL3uz6n/5ag1h50JaNKKWq0fPZjn3jjVSTfVS6 -# 1LawijrdsOdvL6TcCKeTl2p8i8NXx06NJNgunIMV2REGR0gM3rQ4MauZG9n+1fAt -# JeM+dWxwbGo3UQQ+WuBWIXvbyzp1Dtxt4kUklDegXEMs271JYMaVp9IquYayPJxk -# 73LjAnFl7haGSwksPqAR/3I8v7WOGa22SQQn8E9zIObXf+caePDsvbTX7w== +# DQEJBDEiBCBksIhprWGO//zFcDUtab07MIdidY5PBTZLCjP4yEt1nTANBgkqhkiG +# 9w0BAQEFAASCAgCEDYnFHtAMbkhtCzhKM8Ic2zNdo44on8+MfFSbBBfE87X+II12 +# XkSr/L/bbErIRmOCTf3QYQ+EmbRxv9q0i9p5UWos54kp81xga1lSE6riab9++tMS +# a6kp+4z9JrPb0T0I5efJfmoF7hS/ydkzupyvxGjq6Xq59Oj4c2/fqBEOFNssTiru +# QM2dusKgYUfCw2iThpbF+UyPtZRU3xh+ycRW2HNOMHdaBa92CY3SyzubGRKgz3qp +# X5WBY+8VqMJaAIlY4ZrhMMEzVul+QytL75ms8fg0CT1unkyawRGhpb/FyqBQBsS3 +# ORDe3TyROZ6jvGNb3qLJy1TH9VfPRx8XzTmFBlNrZAGs86BpVPtHfgaChza5AIv3 +# IywTr4qgBux4Q2MXY5dBMEahGZn9edtF0FLkj/yV0US3fPgAQ2vMnXsStW+GmXs9 +# wxj1WKEIGhzYfMmuiuW8Jr3rAABIZBx1F4HM3+0vsBXsGg/ZLf17wNTB/UC8iePX +# YVOB0KrO1GkzZzrZXGdmYNYbxlEJNRaVVcXj9jTU+zFEUWKN90xO3IErGVQBprnQ +# t3Y00j3gnI08K0tuvg+7QwFPNi3gn7DZ4LBX0n4LZvD9cvMar3VS4TEHqAPkPqkG +# BgRSLMjIbSeQnLJfIBe2/1GJwKqpM8NPthc2rsBxzmKFqRc7vqNT9ROFzw== # SIG # End signature block From 4ee41cf1982334ef0637864a61e9cdc2c1abb4a8 Mon Sep 17 00:00:00 2001 From: Chris Titus Date: Fri, 2 Aug 2024 19:10:09 -0500 Subject: [PATCH 07/80] error check code signing --- .github/workflows/compile.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/compile.yaml b/.github/workflows/compile.yaml index c2fb6b9e..5eb73b58 100644 --- a/.github/workflows/compile.yaml +++ b/.github/workflows/compile.yaml @@ -32,6 +32,11 @@ jobs: $cert = Get-ChildItem -Path Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1 if ($null -eq $cert) { throw "Code signing certificate not found" } Set-AuthenticodeSignature -FilePath ./winutil.ps1 -Certificate $cert + - name: Verify code signature + shell: pwsh + run: | + $signature = Get-AuthenticodeSignature -FilePath ./winutil.ps1 + if ($signature.Status -ne 'Valid') { throw "Code signing failed" } - name: Upload winutil.ps1 as artifact uses: actions/upload-artifact@v2 with: From 49100e1dd6a141a04c9ca84465b8a8e438bdda2e Mon Sep 17 00:00:00 2001 From: ChrisTitusTech Date: Mon, 5 Aug 2024 15:32:09 +0000 Subject: [PATCH 08/80] =?UTF-8?q?Deploying=20to=20main=20from=20@=20ChrisT?= =?UTF-8?q?itusTech/winutil@547e433b0bf54b0670347b4e80a7f7e268641bc3=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e43bf521..cfc8ee69 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ If you have Issues, refer to [Known Issues](https://christitustech.github.io/win These are the sponsors that help keep this project alive with monthly contributions. -Gregory NavasarkianYusuke SaitoTriHyderaMark AmosJason A. DiegmuellerwyattJan WilleOwenStefanthaddlPaulDave Jones +Gregory NavasarkianYusuke SaitoTriHyderaMark AmosJason A. DiegmuellerwyattJan WilleOwenStefanthaddlPaulDave JonesAnthony Mendez ## 🏅 Thanks to all Contributors Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻. From 1c9cef0079fd1ca3f0fdf45a3b65021dc203c884 Mon Sep 17 00:00:00 2001 From: ChrisTitusTech Date: Tue, 6 Aug 2024 15:32:21 +0000 Subject: [PATCH 09/80] =?UTF-8?q?Deploying=20to=20main=20from=20@=20ChrisT?= =?UTF-8?q?itusTech/winutil@49100e1dd6a141a04c9ca84465b8a8e438bdda2e=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cfc8ee69..359ea51c 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ If you have Issues, refer to [Known Issues](https://christitustech.github.io/win These are the sponsors that help keep this project alive with monthly contributions. -Gregory NavasarkianYusuke SaitoTriHyderaMark AmosJason A. DiegmuellerwyattJan WilleOwenStefanthaddlPaulDave JonesAnthony Mendez +Gregory NavasarkianYusuke SaitoTriHyderaMark AmosJason A. DiegmuellerwyattOwenStefanthaddlPaulDave JonesAnthony Mendez ## 🏅 Thanks to all Contributors Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻. From de8a79df22928244e9caf71a98717132240b454e Mon Sep 17 00:00:00 2001 From: ClumsyLulz <86472964+SleepTheGod@users.noreply.github.com> Date: Tue, 6 Aug 2024 13:01:46 -0400 Subject: [PATCH 10/80] Pull Request (#2526) * Update edgeremoval.ps1 * Update edgeremoval.ps1 * Update edgeremoval.ps1 --- edgeremoval.ps1 | 386 +++++++++++++++++++----------------------------- 1 file changed, 148 insertions(+), 238 deletions(-) diff --git a/edgeremoval.ps1 b/edgeremoval.ps1 index 5f3a7a3c..f2bc89af 100644 --- a/edgeremoval.ps1 +++ b/edgeremoval.ps1 @@ -1,195 +1,28 @@ # Script Metadata # Created by AveYo, source: https://raw.githubusercontent.com/AveYo/fox/main/Edge_Removal.bat -# Powershell Conversion and Refactor done by Chris Titus Tech - -# Initial Configuration -$host.ui.RawUI.WindowTitle = 'Edge Removal - Chris Titus Tech 2023.05.10' -$remove_win32 = @("Microsoft Edge", "Microsoft Edge Update") -$remove_appx = @("MicrosoftEdge") -$skip = @() # Optional: @("DevTools") - -$also_remove_webview = 0 -if ($also_remove_webview -eq 1) { - $remove_win32 += "Microsoft EdgeWebView" - $remove_appx += "WebExperience", "Win32WebViewHost" -} - -# Administrative Privileges Check -$privileges = @( - 'SeSecurityPrivilege', - 'SeTakeOwnershipPrivilege', - 'SeBackupPrivilege', - 'SeRestorePrivilege' -) - -foreach ($privilege in $privileges) { - [System.Diagnostics.Process]::SetPrivilege($privilege, 2) -} - -# Edge Removal Procedures -$processesToShutdown = @( - 'explorer', 'Widgets', 'widgetservice', 'msedgewebview2', 'MicrosoftEdge*', 'chredge', - 'msedge', 'edge', 'msteams', 'msfamily', 'WebViewHost', 'Clipchamp' -) - -Stop-Process -Name "explorer" -Force -ErrorAction SilentlyContinue -$processesToShutdown | ForEach-Object { - Stop-Process -Name $_ -Force -ErrorAction SilentlyContinue -} - -$MS = ($env:ProgramFiles, ${env:ProgramFiles(x86)})[[Environment]::Is64BitOperatingSystem] + '\Microsoft\Edge\Application\msedge.exe' - -Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\msedge.exe" -Recurse -ErrorAction SilentlyContinue -Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ie_to_edge_stub.exe" -Recurse -ErrorAction SilentlyContinue -Remove-Item -Path 'Registry::HKEY_Users\S-1-5-21*\Software\Classes\microsoft-edge' -Recurse -ErrorAction SilentlyContinue -Remove-Item -Path 'Registry::HKEY_Users\S-1-5-21*\Software\Classes\MSEdgeHTM' -Recurse -ErrorAction SilentlyContinue - -New-Item -Path "HKLM:\SOFTWARE\Classes\microsoft-edge\shell\open\command" -Force -ErrorAction SilentlyContinue -Set-ItemProperty -Path "HKLM:\SOFTWARE\Classes\microsoft-edge\shell\open\command" -Name '(Default)' -Value "`"$MS`" --single-argument %%1" -Force -ErrorAction SilentlyContinue - -New-Item -Path "HKLM:\SOFTWARE\Classes\MSEdgeHTM\shell\open\command" -Force -ErrorAction SilentlyContinue -Set-ItemProperty -Path "HKLM:\SOFTWARE\Classes\MSEdgeHTM\shell\open\command" -Name '(Default)' -Value "`"$MS`" --single-argument %%1" -Force -ErrorAction SilentlyContinue - -$registryPaths = @('HKLM:\SOFTWARE\Policies', 'HKLM:\SOFTWARE', 'HKLM:\SOFTWARE\WOW6432Node') -$edgeProperties = @('InstallDefault', 'Install{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}', 'Install{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}') -foreach ($path in $registryPaths) { - foreach ($prop in $edgeProperties) { - Remove-ItemProperty -Path "$path\Microsoft\EdgeUpdate" -Name $prop -Force -ErrorAction SilentlyContinue - } -} - -$edgeupdate = 'Microsoft\EdgeUpdate\Clients\{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}' -$webvupdate = 'Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}' -$on_actions = @('on-os-upgrade', 'on-logon', 'on-logon-autolaunch', 'on-logon-startup-boost') -$registryBases = @('HKLM:\SOFTWARE', 'HKLM:\SOFTWARE\Wow6432Node') -foreach ($base in $registryBases) { - foreach ($launch in $on_actions) { - Remove-Item -Path "$base\$edgeupdate\Commands\$launch" -Force -ErrorAction SilentlyContinue - Remove-Item -Path "$base\$webvupdate\Commands\$launch" -Force -ErrorAction SilentlyContinue - } -} - -$registryPaths = @('HKCU:', 'HKLM:') -$nodes = @('', '\Wow6432Node') -foreach ($regPath in $registryPaths) { - foreach ($node in $nodes) { - foreach ($i in $remove_win32) { - Remove-ItemProperty -Path "$regPath\SOFTWARE${node}\Microsoft\Windows\CurrentVersion\Uninstall\$i" -Name 'NoRemove' -Force -ErrorAction SilentlyContinue - New-Item -Path "$regPath\SOFTWARE${node}\Microsoft\EdgeUpdateDev" -Force | Out-Null - Set-ItemProperty -Path "$regPath\SOFTWARE${node}\Microsoft\EdgeUpdateDev" -Name 'AllowUninstall' -Value 1 -Type Dword -Force - } - } -} - -$foldersToSearch = @('LocalApplicationData', 'ProgramFilesX86', 'ProgramFiles') | ForEach-Object { - [Environment]::GetFolderPath($_) -} - -$edges = @() -$bhoFiles = @() - -foreach ($folder in $foldersToSearch) { - $bhoFiles += Get-ChildItem -Path "$folder\Microsoft\Edge*\ie_to_edge_stub.exe" -Recurse -ErrorAction SilentlyContinue - - $edges += Get-ChildItem -Path "$folder\Microsoft\Edge*\setup.exe" -Recurse -ErrorAction SilentlyContinue | - Where-Object { $_.FullName -notlike '*EdgeWebView*' } -} - -$destinationDir = "$env:SystemDrive\Scripts" -New-Item -Path $destinationDir -ItemType Directory -ErrorAction SilentlyContinue | Out-Null - -foreach ($bhoFile in $bhoFiles) { - if (Test-Path $bhoFile) { - try { - Copy-Item -Path $bhoFile -Destination "$destinationDir\ie_to_edge_stub.exe" -Force - } catch { } - } -} - -## Work on Appx Removals -$provisioned = Get-AppxProvisionedPackage -Online -$appxpackage = Get-AppxPackage -AllUsers -$eol = @() - -$store = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Store' -$storeP = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Store\InstalledApplications' -foreach ($app in $appxpackage) { - $name = $app.Name - if ($app.Name -eq "Microsoft.Edge") { - $eol += $name - } elseif ($app.Name -eq "Microsoft.EdgeBeta" -or $app.Name -eq "Microsoft.EdgeDev" -or $app.Name -eq "Microsoft.EdgeCanary" -or $app.Name -eq "Microsoft.MicrosoftEdge") { - $eol += $name - } -} - -$eolApps = $provisioned | Where-Object { $eol -contains $_.DisplayName } - -foreach ($edge in $eolApps) { - $edgeName = $edge.DisplayName - if (-not ($skip -contains $edgeName)) { - try { - Remove-AppxProvisionedPackage -Online -PackageName $edgeName -ErrorAction SilentlyContinue - } catch { } - } -} - -foreach ($edge in $appxpackage) { - $edgeName = $edge.Name - if ($eol -contains $edgeName) { - if (-not ($skip -contains $edgeName)) { - try { - Remove-AppxPackage -Package $edgeName -AllUsers -ErrorAction SilentlyContinue - } catch { } - } - } -} - -## Redirect shortcuts -$shortcut_path = "$env:Public\Desktop" -$shortcut_file = 'Microsoft Edge.lnk' -$full_path = Join-Path -Path $shortcut_path -ChildPath $shortcut_file - -if (Test-Path $full_path) { - Remove-Item -Path $full_path -Force -ErrorAction SilentlyContinue -} - -$shortcut_path = "$env:ProgramData\Microsoft\Windows\Start Menu\Programs" -$shortcut_file = 'Microsoft Edge.lnk' -$full_path = Join-Path -Path $shortcut_path -ChildPath $shortcut_file - -if (Test-Path $full_path) { - Remove-Item -Path $full_path -Force -ErrorAction SilentlyContinue -} - -$edgePolicy = 'HKLM:\SOFTWARE\Policies\Microsoft\Edge' -if (-not (Test-Path $edgePolicy)) { - New-Item -Path $edgePolicy -Force | Out-Null -} - -$edgePrefs = @{ - 'Dword' = @{ - 'BrowserReplacementEnabled' = 1 - 'HideFirstRunExperience' = 1 - 'HideImportEdgeFavoritesPrompt' = 1 - 'HideSyncSetupExperience' = 1 - 'FavoritesBarVisibility' = 1 - } - 'String' = @{ - 'AutoplayAllowed' = 'AllowOnce' - } -} - -foreach ($entryType in $edgePrefs.Keys) { - foreach ($prefName in $edgePrefs[$entryType].Keys) { - Set-ItemProperty -Path $edgePolicy -Name $prefName -Value $edgePrefs[$entryType][$prefName] -Type $entryType -Force - } -} - -# Output Results -Write-Host "Edge Removal Complete" -ForegroundColor Green +# Powershell Conversion and Refactor by Chris Titus Tech +# Updated By Taylor Christian Nesome 8/6/2024 # Define constants and initial configuration -$ScriptVersion = "2023.05.10" +<# +.SYNOPSIS + This script removes Microsoft Edge and related components from the system. + +.DESCRIPTION + This script performs the following tasks: + - Terminates Edge-related processes. + - Removes registry entries associated with Microsoft Edge. + - Uninstalls Edge-related AppX packages. + - Cleans up shortcut files. + - Configures Edge policy settings to prevent reinstallation. + +.NOTES + Updated by Taylor Christian Newsome + Version: 2024.08.06 +#> + +# Define constants and initial configuration +$ScriptVersion = "2024.08.06" $EdgeProcessesToShutdown = @('explorer', 'Widgets', 'widgetservice', 'msedgewebview2', 'MicrosoftEdge*', 'chredge', 'msedge', 'edge', 'msteams', 'msfamily', 'WebViewHost', 'Clipchamp') $EdgeRemovalOptions = @{ RemoveWin32 = @("Microsoft Edge", "Microsoft Edge Update") @@ -198,56 +31,133 @@ $EdgeRemovalOptions = @{ AlsoRemoveWebView = $false } -# Define main function to remove Microsoft Edge components -function Remove-MicrosoftEdge { - [CmdletBinding()] - param() - - # Function to shutdown processes related to Microsoft Edge - function Stop-EdgeProcesses { - $EdgeProcessesToShutdown | ForEach-Object { - Stop-Process -Name $_ -Force -ErrorAction SilentlyContinue - } - } - - # Function to remove registry entries related to Microsoft Edge - function Remove-EdgeRegistryEntries { - # Clean up certain registry entries - Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\msedge.exe" -Recurse -ErrorAction SilentlyContinue - Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ie_to_edge_stub.exe" -Recurse -ErrorAction SilentlyContinue - Remove-Item -Path 'Registry::HKEY_Users\S-1-5-21*\Software\Classes\microsoft-edge' -Recurse -ErrorAction SilentlyContinue - Remove-Item -Path 'Registry::HKEY_Users\S-1-5-21*\Software\Classes\MSEdgeHTM' -Recurse -ErrorAction SilentlyContinue - - # Create new registry entries - $EdgeExecutablePath = ($env:ProgramFiles, ${env:ProgramFiles(x86)})[[Environment]::Is64BitOperatingSystem] + '\Microsoft\Edge\Application\msedge.exe' - New-Item -Path "HKLM:\SOFTWARE\Classes\microsoft-edge\shell\open\command" -Force -ErrorAction SilentlyContinue - Set-ItemProperty -Path "HKLM:\SOFTWARE\Classes\microsoft-edge\shell\open\command" -Name '(Default)' -Value "`"$EdgeExecutablePath`" --single-argument %%1" -Force -ErrorAction SilentlyContinue - - New-Item -Path "HKLM:\SOFTWARE\Classes\MSEdgeHTM\shell\open\command" -Force -ErrorAction SilentlyContinue - Set-ItemProperty -Path "HKLM:\SOFTWARE\Classes\MSEdgeHTM\shell\open\command" -Name '(Default)' -Value "`"$EdgeExecutablePath`" --single-argument %%1" -Force -ErrorAction SilentlyContinue - } - - # Function to remove Microsoft Edge AppX packages - function Remove-EdgeAppxPackages { - $EdgeRemovalOptions.RemoveAppx | ForEach-Object { - # Remove provisioned packages - Get-AppxProvisionedPackage -Online | Where-Object { $_.PackageName -like "*$_*" -and $EdgeRemovalOptions.Skip -notcontains $_.PackageName } | Remove-AppxProvisionedPackage -Online -AllUsers -ErrorAction SilentlyContinue - - # Remove installed packages - Get-AppxPackage -AllUsers | Where-Object { $_.PackageFullName -like "*$_*" -and $EdgeRemovalOptions.Skip -notcontains $_.PackageFullName } | Remove-AppxPackage -AllUsers -ErrorAction SilentlyContinue - } - } - - # Function to remove Microsoft Edge processes, registry entries, and AppX packages - try { - Stop-EdgeProcesses - Remove-EdgeRegistryEntries - Remove-EdgeAppxPackages - Write-Output "Microsoft Edge components have been successfully removed." - } catch { - Write-Error "Failed to remove Microsoft Edge components: $_" +# Function to check if the script is running with administrative privileges +function Test-Admin { + if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { + Write-Error "The script must be run as an Administrator." + exit 1 } } -# Execute the main function -Remove-MicrosoftEdge \ No newline at end of file +# Function to stop Edge-related processes +function Stop-EdgeProcesses { + param([string[]]$ProcessesToStop) + foreach ($process in $ProcessesToStop) { + try { + Stop-Process -Name $process -Force -ErrorAction Stop + Write-Output "Successfully stopped process: $process" + } catch { + Write-Error "Failed to stop process: $process. $_" + } + } +} + +# Function to remove registry entries related to Microsoft Edge +function Remove-EdgeRegistryEntries { + param([string[]]$RegistryPaths) + foreach ($path in $RegistryPaths) { + try { + Remove-Item -Path $path -Recurse -Force -ErrorAction Stop + Write-Output "Successfully removed registry path: $path" + } catch { + Write-Error "Failed to remove registry path: $path. $_" + } + } +} + +# Function to remove Microsoft Edge AppX packages +function Remove-EdgeAppxPackages { + param([string[]]$AppxPackagesToRemove) + $provisionedPackages = Get-AppxProvisionedPackage -Online + foreach ($package in $AppxPackagesToRemove) { + try { + $packagesToRemove = $provisionedPackages | Where-Object { $_.DisplayName -like "*$package*" } + foreach ($pkg in $packagesToRemove) { + Remove-AppxProvisionedPackage -Online -PackageName $pkg.PackageName -ErrorAction Stop + Write-Output "Successfully removed provisioned package: $pkg.DisplayName" + } + + $installedPackages = Get-AppxPackage -AllUsers | Where-Object { $_.PackageFullName -like "*$package*" } + foreach ($pkg in $installedPackages) { + Remove-AppxPackage -Package $pkg.PackageFullName -AllUsers -ErrorAction Stop + Write-Output "Successfully removed installed package: $pkg.PackageFullName" + } + } catch { + Write-Error "Failed to remove AppX package: $package. $_" + } + } +} + +# Function to remove shortcuts related to Microsoft Edge +function Remove-EdgeShortcuts { + param([string[]]$ShortcutPaths) + foreach ($path in $ShortcutPaths) { + if (Test-Path $path) { + try { + Remove-Item -Path $path -Force -ErrorAction Stop + Write-Output "Successfully removed shortcut: $path" + } catch { + Write-Error "Failed to remove shortcut: $path. $_" + } + } + } +} + +# Function to configure Edge policy settings +function Configure-EdgePolicy { + param([hashtable]$PolicySettings) + $edgePolicyPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Edge' + if (-not (Test-Path $edgePolicyPath)) { + try { + New-Item -Path $edgePolicyPath -Force | Out-Null + Write-Output "Created Edge policy registry path: $edgePolicyPath" + } catch { + Write-Error "Failed to create Edge policy registry path: $edgePolicyPath. $_" + } + } + + foreach ($entryType in $PolicySettings.Keys) { + foreach ($prefName in $PolicySettings[$entryType].Keys) { + try { + Set-ItemProperty -Path $edgePolicyPath -Name $prefName -Value $PolicySettings[$entryType][$prefName] -Type $entryType -Force + Write-Output "Successfully set Edge policy: $prefName = $($PolicySettings[$entryType][$prefName])" + } catch { + Write-Error "Failed to set Edge policy: $prefName. $_" + } + } + } +} + +# Main execution +try { + Test-Admin + Stop-EdgeProcesses -ProcessesToStop $EdgeProcessesToShutdown + Remove-EdgeRegistryEntries -RegistryPaths @( + "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\msedge.exe", + "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ie_to_edge_stub.exe", + "Registry::HKEY_Users\S-1-5-21*\Software\Classes\microsoft-edge", + "Registry::HKEY_Users\S-1-5-21*\Software\Classes\MSEdgeHTM" + ) + Remove-EdgeAppxPackages -AppxPackagesToRemove $EdgeRemovalOptions.RemoveAppx + Remove-EdgeShortcuts -ShortcutPaths @( + "$env:Public\Desktop\Microsoft Edge.lnk", + "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk" + ) + Configure-EdgePolicy -PolicySettings @{ + 'Dword' = @{ + 'BrowserReplacementEnabled' = 1 + 'HideFirstRunExperience' = 1 + 'HideImportEdgeFavoritesPrompt' = 1 + 'HideSyncSetupExperience' = 1 + 'FavoritesBarVisibility' = 1 + } + 'String' = @{ + 'AutoplayAllowed' = 'AllowOnce' + } + } + Write-Output "Microsoft Edge components have been successfully removed." +} catch { + Write-Error "An error occurred during execution: $_" +} + +Remove-MicrosoftEdge From 0bea5f8ceb8cb5ca88fe1c891510f62de5ae6931 Mon Sep 17 00:00:00 2001 From: ChrisTitusTech Date: Tue, 6 Aug 2024 17:02:25 +0000 Subject: [PATCH 11/80] Compile Winutil --- winutil.ps1 | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/winutil.ps1 b/winutil.ps1 index 34269601..29ab4b31 100644 --- a/winutil.ps1 +++ b/winutil.ps1 @@ -8,7 +8,7 @@ Author : Chris Titus @christitustech Runspace Author: @DeveloperDurp GitHub : https://github.com/ChrisTitusTech - Version : 24.08.03 + Version : 24.08.06 #> param ( [switch]$Debug, @@ -45,7 +45,7 @@ Add-Type -AssemblyName System.Windows.Forms # Variable to sync between runspaces $sync = [Hashtable]::Synchronized(@{}) $sync.PSScriptRoot = $PSScriptRoot -$sync.version = "24.08.03" +$sync.version = "24.08.06" $sync.configs = @{} $sync.ProcessRunning = $false @@ -15893,8 +15893,8 @@ Stop-Transcript # SIG # Begin signature block # MIIQRwYJKoZIhvcNAQcCoIIQODCCEDQCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG -# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCpr3PCAiIU+717 -# XjBk+klB20McRwzbj5pzZuVN6LMCqqCCDIMwggYaMIIEAqADAgECAhBiHW0MUgGe +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCcU2gQXIP8mYVL +# FIApc67vR3IMDb3vuZI4yUk9qWGC+qCCDIMwggYaMIIEAqADAgECAhBiHW0MUgGe # O5B5FSCJIRwKMA0GCSqGSIb3DQEBDAUAMFYxCzAJBgNVBAYTAkdCMRgwFgYDVQQK # Ew9TZWN0aWdvIExpbWl0ZWQxLTArBgNVBAMTJFNlY3RpZ28gUHVibGljIENvZGUg # U2lnbmluZyBSb290IFI0NjAeFw0yMTAzMjIwMDAwMDBaFw0zNjAzMjEyMzU5NTla @@ -15966,16 +15966,16 @@ Stop-Transcript # ZSBTaWduaW5nIENBIFIzNgIQJs052f8oQtNfSG2ygwabxTANBglghkgBZQMEAgEF # AKCBhDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgor # BgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3 -# DQEJBDEiBCBksIhprWGO//zFcDUtab07MIdidY5PBTZLCjP4yEt1nTANBgkqhkiG -# 9w0BAQEFAASCAgCEDYnFHtAMbkhtCzhKM8Ic2zNdo44on8+MfFSbBBfE87X+II12 -# XkSr/L/bbErIRmOCTf3QYQ+EmbRxv9q0i9p5UWos54kp81xga1lSE6riab9++tMS -# a6kp+4z9JrPb0T0I5efJfmoF7hS/ydkzupyvxGjq6Xq59Oj4c2/fqBEOFNssTiru -# QM2dusKgYUfCw2iThpbF+UyPtZRU3xh+ycRW2HNOMHdaBa92CY3SyzubGRKgz3qp -# X5WBY+8VqMJaAIlY4ZrhMMEzVul+QytL75ms8fg0CT1unkyawRGhpb/FyqBQBsS3 -# ORDe3TyROZ6jvGNb3qLJy1TH9VfPRx8XzTmFBlNrZAGs86BpVPtHfgaChza5AIv3 -# IywTr4qgBux4Q2MXY5dBMEahGZn9edtF0FLkj/yV0US3fPgAQ2vMnXsStW+GmXs9 -# wxj1WKEIGhzYfMmuiuW8Jr3rAABIZBx1F4HM3+0vsBXsGg/ZLf17wNTB/UC8iePX -# YVOB0KrO1GkzZzrZXGdmYNYbxlEJNRaVVcXj9jTU+zFEUWKN90xO3IErGVQBprnQ -# t3Y00j3gnI08K0tuvg+7QwFPNi3gn7DZ4LBX0n4LZvD9cvMar3VS4TEHqAPkPqkG -# BgRSLMjIbSeQnLJfIBe2/1GJwKqpM8NPthc2rsBxzmKFqRc7vqNT9ROFzw== +# DQEJBDEiBCAvzjz0wYtwWAYz9f7Rlsj+9xbvfrLyqG2EUlH59/EXujANBgkqhkiG +# 9w0BAQEFAASCAgCU6Y2zq0dTXWMjpgBhkX1lHW1e9TG/p+qG6ISUFhqH+0A6hw4W +# 7p1290/ORf+7usw8T956JPvAqZKS+Tk58Mfh5PtIuHRfEwjcoNOWmGvUVe2fP6BD +# tl9oznLOYtj3ItA5UpirNoTJFwe7DXQYIqdvGpbw3/PnZliva4zbP++BN0KLtf8F +# vR+xOA5Gi3CEJbkUQgE7tlR11CKxkUFuD5NuwF52FA5zztQmZSaH/C4tmdnPhbz7 +# b+dyt+9lrstUlPB/VpF+XP5V4PEuHfcLbmCXPuIWhhva1pVZe6iiMGNZc7gECb6G +# l47In2bvAS0YNf/qLK11EhFDjanXa9G6vqs8OAa6Py8gC07ZQF7mmeQd0/qZCxvX +# /uj3mfwBUbKBeY8gw7SFTjzZfL9asUjg/C2vsNMdWisPRgs0kw0cXRm+mze2mL2s +# UVDZYDDKlQiAWrAhFY8kSWzxtkV3Jw+pxDj7OnUCCQ72a5Bog+iWsdNwbFXtcrqy +# xXZYmS+nT5lSOP2BazFcqe+BItXjoAu3lXhY4zqb0fXiRF/+Cn+0AFjpGabP/iL7 +# YtvPnyyFNpJrtgE0JlEsPhdLXta4F4tKXmnvzhSxiaSP2uVR1ykiuIiZLhFWJMZV +# BycA2VZigXE3Zlyfu3tD0lSDChTLUMkvTw7z+sLYkm/HgTSE949+3iPjcw== # SIG # End signature block From 33d5d55b15adf06b4680a724010c07e9f494c1f4 Mon Sep 17 00:00:00 2001 From: Chris Titus Date: Tue, 6 Aug 2024 12:38:35 -0500 Subject: [PATCH 12/80] Delete edgeremoval.ps1 This was destroyed and GPT trash. --- edgeremoval.ps1 | 163 ------------------------------------------------ 1 file changed, 163 deletions(-) delete mode 100644 edgeremoval.ps1 diff --git a/edgeremoval.ps1 b/edgeremoval.ps1 deleted file mode 100644 index f2bc89af..00000000 --- a/edgeremoval.ps1 +++ /dev/null @@ -1,163 +0,0 @@ -# Script Metadata -# Created by AveYo, source: https://raw.githubusercontent.com/AveYo/fox/main/Edge_Removal.bat -# Powershell Conversion and Refactor by Chris Titus Tech -# Updated By Taylor Christian Nesome 8/6/2024 - -# Define constants and initial configuration -<# -.SYNOPSIS - This script removes Microsoft Edge and related components from the system. - -.DESCRIPTION - This script performs the following tasks: - - Terminates Edge-related processes. - - Removes registry entries associated with Microsoft Edge. - - Uninstalls Edge-related AppX packages. - - Cleans up shortcut files. - - Configures Edge policy settings to prevent reinstallation. - -.NOTES - Updated by Taylor Christian Newsome - Version: 2024.08.06 -#> - -# Define constants and initial configuration -$ScriptVersion = "2024.08.06" -$EdgeProcessesToShutdown = @('explorer', 'Widgets', 'widgetservice', 'msedgewebview2', 'MicrosoftEdge*', 'chredge', 'msedge', 'edge', 'msteams', 'msfamily', 'WebViewHost', 'Clipchamp') -$EdgeRemovalOptions = @{ - RemoveWin32 = @("Microsoft Edge", "Microsoft Edge Update") - RemoveAppx = @("MicrosoftEdge") - Skip = @() # Optional: @("DevTools") - AlsoRemoveWebView = $false -} - -# Function to check if the script is running with administrative privileges -function Test-Admin { - if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { - Write-Error "The script must be run as an Administrator." - exit 1 - } -} - -# Function to stop Edge-related processes -function Stop-EdgeProcesses { - param([string[]]$ProcessesToStop) - foreach ($process in $ProcessesToStop) { - try { - Stop-Process -Name $process -Force -ErrorAction Stop - Write-Output "Successfully stopped process: $process" - } catch { - Write-Error "Failed to stop process: $process. $_" - } - } -} - -# Function to remove registry entries related to Microsoft Edge -function Remove-EdgeRegistryEntries { - param([string[]]$RegistryPaths) - foreach ($path in $RegistryPaths) { - try { - Remove-Item -Path $path -Recurse -Force -ErrorAction Stop - Write-Output "Successfully removed registry path: $path" - } catch { - Write-Error "Failed to remove registry path: $path. $_" - } - } -} - -# Function to remove Microsoft Edge AppX packages -function Remove-EdgeAppxPackages { - param([string[]]$AppxPackagesToRemove) - $provisionedPackages = Get-AppxProvisionedPackage -Online - foreach ($package in $AppxPackagesToRemove) { - try { - $packagesToRemove = $provisionedPackages | Where-Object { $_.DisplayName -like "*$package*" } - foreach ($pkg in $packagesToRemove) { - Remove-AppxProvisionedPackage -Online -PackageName $pkg.PackageName -ErrorAction Stop - Write-Output "Successfully removed provisioned package: $pkg.DisplayName" - } - - $installedPackages = Get-AppxPackage -AllUsers | Where-Object { $_.PackageFullName -like "*$package*" } - foreach ($pkg in $installedPackages) { - Remove-AppxPackage -Package $pkg.PackageFullName -AllUsers -ErrorAction Stop - Write-Output "Successfully removed installed package: $pkg.PackageFullName" - } - } catch { - Write-Error "Failed to remove AppX package: $package. $_" - } - } -} - -# Function to remove shortcuts related to Microsoft Edge -function Remove-EdgeShortcuts { - param([string[]]$ShortcutPaths) - foreach ($path in $ShortcutPaths) { - if (Test-Path $path) { - try { - Remove-Item -Path $path -Force -ErrorAction Stop - Write-Output "Successfully removed shortcut: $path" - } catch { - Write-Error "Failed to remove shortcut: $path. $_" - } - } - } -} - -# Function to configure Edge policy settings -function Configure-EdgePolicy { - param([hashtable]$PolicySettings) - $edgePolicyPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Edge' - if (-not (Test-Path $edgePolicyPath)) { - try { - New-Item -Path $edgePolicyPath -Force | Out-Null - Write-Output "Created Edge policy registry path: $edgePolicyPath" - } catch { - Write-Error "Failed to create Edge policy registry path: $edgePolicyPath. $_" - } - } - - foreach ($entryType in $PolicySettings.Keys) { - foreach ($prefName in $PolicySettings[$entryType].Keys) { - try { - Set-ItemProperty -Path $edgePolicyPath -Name $prefName -Value $PolicySettings[$entryType][$prefName] -Type $entryType -Force - Write-Output "Successfully set Edge policy: $prefName = $($PolicySettings[$entryType][$prefName])" - } catch { - Write-Error "Failed to set Edge policy: $prefName. $_" - } - } - } -} - -# Main execution -try { - Test-Admin - Stop-EdgeProcesses -ProcessesToStop $EdgeProcessesToShutdown - Remove-EdgeRegistryEntries -RegistryPaths @( - "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\msedge.exe", - "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ie_to_edge_stub.exe", - "Registry::HKEY_Users\S-1-5-21*\Software\Classes\microsoft-edge", - "Registry::HKEY_Users\S-1-5-21*\Software\Classes\MSEdgeHTM" - ) - Remove-EdgeAppxPackages -AppxPackagesToRemove $EdgeRemovalOptions.RemoveAppx - Remove-EdgeShortcuts -ShortcutPaths @( - "$env:Public\Desktop\Microsoft Edge.lnk", - "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk" - ) - Configure-EdgePolicy -PolicySettings @{ - 'Dword' = @{ - 'BrowserReplacementEnabled' = 1 - 'HideFirstRunExperience' = 1 - 'HideImportEdgeFavoritesPrompt' = 1 - 'HideSyncSetupExperience' = 1 - 'FavoritesBarVisibility' = 1 - } - 'String' = @{ - 'AutoplayAllowed' = 'AllowOnce' - } - } - Write-Output "Microsoft Edge components have been successfully removed." -} catch { - Write-Error "An error occurred during execution: $_" -} - -Remove-MicrosoftEdge From f3df13a4caeaf37f3d3ef1baf662c4dcf1927893 Mon Sep 17 00:00:00 2001 From: MyDrift Date: Tue, 6 Aug 2024 19:42:18 +0200 Subject: [PATCH 13/80] Debloat Edge Tweak (#2454) * create debloat edge tweak * removed changing privacy setting instead of auto decline geo,sensor... it asks the user if needed --- config/tweaks.json | 156 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) diff --git a/config/tweaks.json b/config/tweaks.json index f15bbf72..0aeec295 100644 --- a/config/tweaks.json +++ b/config/tweaks.json @@ -1580,6 +1580,162 @@ } ] }, + "WPFTweaksEdgeDebloat": { + "Content": "Debloat Edge", + "Description": "Disables various telemetry options, popups, and other annoyances in Edge.", + "category": "Essential Tweaks", + "panel": "1", + "Order": "a016_", + "registry": [ + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\EdgeUpdate", + "Name": "CreateDesktopShortcutDefault", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeEnhanceImagesEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "PersonalizationReportingEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "ShowRecommendationsEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "HideFirstRunExperience", + "Type": "DWord", + "Value": "1", + "OriginalValue": "0" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "UserFeedbackAllowed", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "ConfigureDoNotTrack", + "Type": "DWord", + "Value": "1", + "OriginalValue": "0" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "AlternateErrorPagesEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeCollectionsEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeFollowEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeShoppingAssistantEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "MicrosoftEdgeInsiderPromotionEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "PersonalizationReportingEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "ShowMicrosoftRewards", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "WebWidgetAllowed", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "DiagnosticData", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeAssetDeliveryServiceEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeCollectionsEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "CryptoWalletEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "ConfigureDoNotTrack", + "Type": "DWord", + "Value": "1", + "OriginalValue": "0" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "WalletDonationEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + } + ] + }, "WPFTweaksConsumerFeatures":{ "Content": "Disable ConsumerFeatures", "Description": "Windows 10 will not automatically install any games, third-party apps, or application links from the Windows Store for the signed-in user. Some default Apps will be inaccessible (eg. Phone Link)", From 2b01fb739fbdadd0568bcfe0dc325e211095b898 Mon Sep 17 00:00:00 2001 From: ChrisTitusTech Date: Tue, 6 Aug 2024 17:42:49 +0000 Subject: [PATCH 14/80] Compile Winutil --- winutil.ps1 | 185 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 171 insertions(+), 14 deletions(-) diff --git a/winutil.ps1 b/winutil.ps1 index 29ab4b31..4c640f8c 100644 --- a/winutil.ps1 +++ b/winutil.ps1 @@ -10950,6 +10950,162 @@ $sync.configs.tweaks = '{ } ] }, + "WPFTweaksEdgeDebloat": { + "Content": "Debloat Edge", + "Description": "Disables various telemetry options, popups, and other annoyances in Edge.", + "category": "Essential Tweaks", + "panel": "1", + "Order": "a016_", + "registry": [ + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\EdgeUpdate", + "Name": "CreateDesktopShortcutDefault", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeEnhanceImagesEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "PersonalizationReportingEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "ShowRecommendationsEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "HideFirstRunExperience", + "Type": "DWord", + "Value": "1", + "OriginalValue": "0" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "UserFeedbackAllowed", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "ConfigureDoNotTrack", + "Type": "DWord", + "Value": "1", + "OriginalValue": "0" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "AlternateErrorPagesEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeCollectionsEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeFollowEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeShoppingAssistantEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "MicrosoftEdgeInsiderPromotionEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "PersonalizationReportingEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "ShowMicrosoftRewards", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "WebWidgetAllowed", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "DiagnosticData", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeAssetDeliveryServiceEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "EdgeCollectionsEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "CryptoWalletEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "ConfigureDoNotTrack", + "Type": "DWord", + "Value": "1", + "OriginalValue": "0" + }, + { + "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", + "Name": "WalletDonationEnabled", + "Type": "DWord", + "Value": "0", + "OriginalValue": "1" + } + ] + }, "WPFTweaksConsumerFeatures": { "Content": "Disable ConsumerFeatures", "Description": "Windows 10 will not automatically install any games, third-party apps, or application links from the Windows Store for the signed-in user. Some default Apps will be inaccessible (eg. Phone Link)", @@ -14939,6 +15095,7 @@ $inputXML = ' + - + - - - - - - - Choose Windows SKU - - Choose Windows features you want to remove from the ISO - - - - - - - - - - - -