<# .SYNOPSIS Automatically remove preinstalled apps on Windows 10/11 .NOTES Sourced from https://learn.microsoft.com/en-us/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#bkmk-preinstalledapps #> $ErrorActionPreference = "Stop" function Remove-DefaultPackage { param ( [String]$Package ) Write-Host -Message "Removing default package $Package..." Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like $Package} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName} Write-Host -Message "Removing $Package from current user..." Get-AppxPackage $Package | Remove-AppxPackage } $packages = @( "Microsoft.BingNews" "Microsoft.BingWeather" "Microsoft.BingFinance" "Microsoft.BingSports" "*.Twitter" # This won't break much # "Microsoft.XboxApp" # These will, though # "Microsoft.Xbox.TCUI" # "Microsoft.XboxGameCallableUI" # "Microsoft.XboxGamingOverlay" # "Microsoft.XboxIdentityProvider" "Microsoft.Office.Sway" "Microsoft.Office.OneNote" "Microsoft.MicrosoftOfficeHub" "Microsoft.SkypeApp" "Microsoft.MicrosoftStickyNotes" ) foreach ($package in $packages) { Remove-DefaultPackage -Name $package } Write-Host -Message "Done"