W4RH4WK / Debloat-Windows-10

A Collection of Scripts Which Disable / Remove Windows 10 Features and Apps
Other
6.05k stars 846 forks source link

Script updates might be needed for 1903 #195

Closed Epictyphlosion closed 4 years ago

Epictyphlosion commented 5 years ago

Now that the March 2019 update is out, I think it's time that the scripts should be updated to debloat 1903.

I have huge faith in these scripts, as they've helped ease some of the pressure off of my 5-year-old Dell laptop that I use for school, but I really think there is some room for improvement. Most of the scripts haven't been updated in over 3 months, with the most recent changes being 2 months ago, and I'm very sure that whatever updates Microsoft have made since then have added more bloat. Ever since 1903 came out, the reviews and news about it haven't been very good, and I'm certain that there's been lots of bloat added in 1903 which can be removed. It may be optional afaik, but it won't be long until it will show up in the Windows Update screen.

W4RH4WK commented 5 years ago

Don't hesitate to open up a pull-request if you feel like things need to be added. Input is always welcome.

Epictyphlosion commented 5 years ago

@W4RH4WK If I could make a suggestion, we could add some optional scripts which remove unnecessary manufacturer bloatware. For example, my old laptop came with some Dell Support Assist and Intel bloatware that always runs in the background, taking up precious memory (Seriously, with 4GB of memory on an under-powered laptop made for Windows 8, every megabyte counts).

W4RH4WK commented 5 years ago

I see where you are coming from and that's exactly the reason why I only recommend using fresh installations (not only for these scripts, but in general).

Sometimes special tooling is required to cleanly remove the bloatware shipped by manufacturers (yes, looking at you Norton). And because I don't want to include anything that cannot be inspected and run out-of-the-box, most tools will not find their way into this repository.

Even further: apart from bloat the manufacturer images may even contain security holes. So please always wipe the disk and start off with a fresh, clean, vanilla installation.

aquaspy commented 5 years ago

I can't help programming, but I can donate @W4RH4WK

W4RH4WK commented 5 years ago

I can't help programming, but I can donate @W4RH4WK

That's nice to hear, but I don't accept any donations at the moment. Also I currently don't have the time to work on this project. So, by now, this is more of a community project. I'd prefer you donating the money to a credible charity organisation instead.

4oo4 commented 5 years ago

@Epictyphlosion I'm curious what you mean by "there's been lots of bloat added", can you provide examples? From experience of using this to prep lots of Windows images for work, usually the only thing I've found that needs to be updated with each new release is apps added to the removal list.

Usually what I do when I start working with a new version of Windows is to run (Get-AppxPackage -AllUsers).Name and Get-AppxProvisionedPackage -online | Select-Object DisplayName, and then compare with the list that's in remove-default-apps.ps1.

dzaikos commented 5 years ago

Usually what I do when I start working with a new version of Windows is to run (Get-AppxPackage -AllUsers).Name and Get-AppxProvisionedPackage -online | Select-Object DisplayName, and then compare with the list that's in remove-default-apps.ps1.

I do something similar. I have an array of white-listed apps and everything else I loop through and decide Yes/No to keep:

$items = @(
    "Microsoft.WindowsAlarms"
    "Microsoft.WindowsCalculator"
    # etc., etc.
)

Get-AppxPackage -AllUsers | Where-Object NonRemovable -eq $false | Where-Object IsFramework -eq $false | ForEach-Object {
    if ($_.Name -notin $items) {
        $r = Read-Host "Delete:" $_.Name "(YES to confirm)?"

        if ($r -eq "YES") {
            Write-Host "Deleting package:" $_.Name

            Get-AppxPackage -Name $_.Name -AllUsers | Remove-AppxPackage -AllUsers
            if ($?) {
                Write-Host "Deleting provisioned package:" $_.Name

                Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq $_.Name | Remove-AppxProvisionedPackage -Online
            }
        }
    }
}

Most of my script(s) are based on this project, just customized to how I want things setup (what I want to keep, etc.).

W4RH4WK commented 4 years ago

I'll close this issue as 1903 has now been out quite some time. Any issues that arise are probably not related to the 1903 update. And we'll deal with them as they come in.