Last active
April 19, 2018 14:26
-
-
Save gioxx/8453d3ffe3a5e4dee427207dd79b442b to your computer and use it in GitHub Desktop.
Script PowerShell di pulizia Windows 10 per rimuovere software "di troppo", impostare un menu di Start pulito (per i nuovi utenti creati sul PC) e disabilitare l'installazione di software "suggeriti da Microsoft" provenienti dallo Store ufficiale.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
WINDOWS 10: Remove Default App Packages (pre-installed) | |
---------------------------------------------------------------------------------------------------------------- | |
Autore: GSolone | |
Utilizzo: .\Win10Clean.ps1 -Clean | |
(opzionale) .\Win10Clean.ps1 -Restore | |
opzionale, passaggio dati da prompt) .\Win10Clean.ps1 -Silent disable | |
opzionale, passaggio dati da prompt) .\Win10Clean.ps1 -Silent enable | |
Versione: 0.4 | |
Info: https://gioxx.org/tag/powershell/ | |
Ultima modifica: 06-03-2018 | |
Fonti utilizzate: http://ccmexec.com/2015/08/removing-built-in-apps-from-windows-10-using-powershell/ | |
https://insidewindows.net/2016/08/24/how-to-stop-windows-10-1607-from-installing-unwanted-apps/ | |
https://windows.gadgethacks.com/how-to/goodbye-bloatware-remove-all-preinstalled-crapware-from-window-10-0164605/ | |
https://blogs.technet.microsoft.com/heyscriptingguy/2015/04/02/update-or-add-registry-key-value-with-powershell/ | |
https://community.spiceworks.com/scripts/show/3977-windows-10-decrapifier-version-2 | |
Modifiche: | |
0.4- rimosso lo switch -StartMenu, può essere causa di malfunzionamento dell'icona "Impostazioni". Ho aggiornato la lista delle applicazioni da disinstallare. Nella fase di rimozione pacchetti, inserito -ErrorAction SilentlyContinue per procedere senza notificare errori a video. | |
0.3 rev1- aggiunto il -StartMenu alla lista dei comandi mostrati in caso di avvio script senza parametri da prompt. | |
0.3- aggiunti nuovi programmi da rimuovere. Ho anche aggiunto la verifica di utilizzo di almeno un parametro (altrimenti mostra a video cosa fare). | |
0.2- ho aggiornato lo script (ora pubblicamente distribuito) per comprendere nuove applicazioni rilasciate nella Creators Update (1703), per ripristinarne le cancellate e per bloccare future distribuzioni "Silent". Permette inoltre di impostare un menu di Start pulito per i nuovi utenti creati sulla macchina (non ha effetto sugli utenti già presenti). | |
#> | |
#Verifica parametri da prompt | |
Param( | |
[switch] $Clean, | |
[switch] $Restore, | |
[string] $Silent | |
) | |
<# ---------------------------------------------------------------------------------------------------------------- | |
Modifiche al registro, per evitare installazione Silent di nuove applicazioni. | |
Vedi: https://insidewindows.net/2016/08/24/how-to-stop-windows-10-1607-from-installing-unwanted-apps/ | |
---------------------------------------------------------------------------------------------------------------- #> | |
if ( [string]::IsNullOrEmpty($Silent) -eq $False ) { | |
if ($Silent -eq "disable") { | |
# Blocco installazione applicazioni suggerite | |
$registryPath = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" | |
$Name = "SilentInstalledAppsEnabled" | |
$value = "0" | |
if (!(Test-Path $registryPath)) { | |
New-Item -Path $registryPath -Force | Out-Null | |
New-ItemProperty -Path $registryPath -Name $name -Value $value ` | |
-PropertyType DWORD -Force | Out-Null | |
} else { | |
New-ItemProperty -Path $registryPath -Name $name -Value $value ` | |
-PropertyType DWORD -Force | Out-Null | |
} | |
Write-Host "SilentInstalledAppsEnabled disabilitato" -f "Red" | |
Write-Host "Non riceverai automaticamente ulteriori pacchetti suggeriti" | |
} | |
if ($Silent -eq "enable") { | |
# Ripristino installazione applicazioni suggerite | |
$registryPath = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" | |
$Name = "SilentInstalledAppsEnabled" | |
$value = "1" | |
if (!(Test-Path $registryPath)) { | |
New-Item -Path $registryPath -Force | Out-Null | |
New-ItemProperty -Path $registryPath -Name $name -Value $value ` | |
-PropertyType DWORD -Force | Out-Null | |
} else { | |
New-ItemProperty -Path $registryPath -Name $name -Value $value ` | |
-PropertyType DWORD -Force | Out-Null | |
} | |
Write-Host "SilentInstalledAppsEnabled abilitato" -f "Green" | |
Write-Host "Riceverai automaticamente i prossimi pacchetti suggeriti" | |
} | |
} | |
<# ---------------------------------------------------------------------------------------------------------------- | |
Se non è richiesta una diversa operazione, parto con la pulizia | |
applicazioni installate di default (o in seguito ad upgrade di sistema). | |
---------------------------------------------------------------------------------------------------------------- #> | |
if ($Clean) { | |
$AppsList = "46928bounde.EclipseManager", # Eclipse Manager | |
"89006A2E.AutodeskSketchBook", # Autodesk SketchBook | |
"A278AB0D.MarchofEmpires", # Gameloft March of Empires | |
"AMZNMobileLLC.KindleforWindows8", # Kindle for Windows 8 (possibile eredità Windows 8) | |
"AccuWeather.AccuWeatherforWindows8", # AccuWeather (possibile eredità Windows 8) | |
"AdobeSystemsIncorporated.AdobePhotoshopExpress", # Photoshop Express | |
"CAF9E577.Plex", # Plex | |
"D5EA27B7.Duolingo-LearnLanguagesforFree", # Duolingo | |
"HoloCamera", # Holo Lens | |
"HoloItemPlayerApp", # Holo Lens | |
"HoloShell", # Holo Lens | |
"KeeperSecurityInc.Keeper", # Keeper Password Manager | |
"Microsoft.3DBuilder", # Microsoft 3D Builder | |
"Microsoft.BingFinance", # Bing Finance | |
"Microsoft.BingFoodAndDrink", # Bing Food and Drink | |
"Microsoft.BingHealthAndFitness", # Bing Health and Fitness | |
"Microsoft.BingNews", # Microsoft BingNew (MSN Notizie) | |
"Microsoft.BingSports", # Bing Sports | |
"Microsoft.BingTravel", # Bing Travel | |
"Microsoft.Getstarted", # Suggerimenti di utilizzo di Windows 10 | |
"Microsoft.Messaging", # Microsoft Messaging | |
"Microsoft.Microsoft3DViewer", # Microsoft 3D Viewer | |
"Microsoft.MicrosoftOfficeHub", # Collegamento per ottenere Office | |
"Microsoft.MicrosoftSolitaireCollection", # Microsoft Solitaire Collection | |
"Microsoft.MinecraftUWP", # Minecraft | |
"Microsoft.Office.OneNote", # OneNote in versione App Desktop Windows 10 | |
"Microsoft.Office.Sway", # Microsoft Office Sway | |
"Microsoft.People", # Contatti | |
"Microsoft.Print3D", # Microsoft Print 3D | |
"Microsoft.Windows.HolographicFirstRun", # Holo Lens | |
"Microsoft.WindowsCommunicationsApps", # Applicazioni integrate per Mail & Calendar | |
"Microsoft.XboxApp", # Xbox | |
"Microsoft.ZuneMusic", # Microsoft Zune Music (Groove) | |
"Microsoft.ZuneMusic", # Groove Musica | |
"Microsoft.ZuneVideo", # Microsoft Zune Video | |
"Windows.MiracastView", # Miracast View | |
"king.com.BubbleWitch3Saga", # Bubble Witch 3 Saga | |
"king.com.CandyCrushSodaSaga" # Candy Crush Soda Saga | |
ForEach ($App in $AppsList) { | |
# Rimozione pacchetti per utente connesso | |
$Packages = Get-AppxPackage -AllUsers | Where-Object {$_.Name -eq $App} | |
if ($Packages -ne $null) { | |
"Removing Appx Package: $App" | |
foreach ($Package in $Packages) { | |
Remove-AppxPackage -package $Package.PackageFullName -ErrorAction SilentlyContinue | |
} | |
} else { "Unable to find local package: $App" } | |
# Rimozione pacchetti provisioned (per nuovi utenti sulla macchina) | |
$ProvisionedPackage = Get-AppxProvisionedPackage -Online | Where-Object {$_.displayName -eq $App} | |
if ($ProvisionedPackage -ne $null) { | |
"Removing Appx Provisioned Package: $App" | |
Remove-AppxProvisionedPackage -Online -PackageName $ProvisionedPackage.PackageName -ErrorAction SilentlyContinue | |
} else { "Unable to find provisioned package: $App" } | |
} | |
<# ---------------------------------------------------------------------------------------------------------------- | |
Se proprio necessario, puoi sempre reinstallare le applicazioni predefinite di sistema | |
Vedi: https://windows.gadgethacks.com/how-to/goodbye-bloatware-remove-all-preinstalled-crapware-from-window-10-0164605/ | |
https://blogs.technet.microsoft.com/heyscriptingguy/2015/04/02/update-or-add-registry-key-value-with-powershell/ | |
---------------------------------------------------------------------------------------------------------------- #> | |
} elseif ($Restore) { | |
Write-Host "Ripristino applicazioni pre-installate ..." -f "Yellow" | |
Get-AppxPackage -AllUsers | Foreach { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" } | |
<# ---------------------------------------------------------------------------------------------------------------- | |
Modifico il menu di Start per ogni nuovo account creato sulla macchina | |
Vedi: https://community.spiceworks.com/scripts/show/3977-windows-10-decrapifier-version-2 | |
---------------------------------------------------------------------------------------------------------------- #> | |
} else { | |
if ( [string]::IsNullOrEmpty($Silent) ) { | |
Write-Host "Rilancia lo script utilizzando almeno un parametro tra quelli disponibili:" | |
Write-Host " -Clean" -nonewline -f "Yellow"; Write-Host ": per lanciare la pulizia programmi di default" | |
Write-Host " -Silent enable" -nonewline -f "Yellow"; Write-Host ": per permettere a Windows di installare nuovi programmi suggeriti" | |
Write-Host " -Silent disable" -nonewline -f "Yellow"; Write-Host ": per impedire a Windows di installare nuovi programmi suggeriti" | |
Write-Host " -Restore" -nonewline -f "Yellow"; Write-Host ": per ripristinare le applicazioni installate di default" | |
"" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Qualcuno sa come cancellare all'interno del proprio profilo voci di repository scritte per errore??