Create a gist now

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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.
<#
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"
""
}
}
@amorepi

This comment has been minimized.

Show comment
Hide comment
@amorepi

amorepi Apr 19, 2018

Qualcuno sa come cancellare all'interno del proprio profilo voci di repository scritte per errore??

amorepi commented Apr 19, 2018

Qualcuno sa come cancellare all'interno del proprio profilo voci di repository scritte per errore??

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment