Advertisement
TheRoboKitten

Simple Cleanup And Compression Script

Mar 24th, 2017
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # The following lines are for clean-up and compaction purposes. They could take hours and degrade performance.
  2. # Save this file with a .ps1 extension. This will disable ALL features (you might want .net 3.5 or 4..) and most capabilities except for Basic English.
  3.  
  4. If (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator")) {
  5.     Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs
  6.     Exit
  7. }
  8. $ErrorActionPreference= 'silentlycontinue'
  9. Write-Progress -Activity "Downloading PolicyFileEditor" -Status "Progress:" -PercentComplete 1
  10. Write-Host "Installing PolicyFileEditor"
  11. install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
  12. Write-Progress -Activity "Downloading PolicyFileEditor" -Status "Progress:" -PercentComplete 5
  13. Write-Host "Seting up Repository"
  14. Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
  15. Write-Progress -Activity "Downloading PolicyFileEditor" -Status "Progress:" -PercentComplete 10
  16. Write-Host "Installing PolicyFileEditor Module"
  17. install-module PolicyFileEditor
  18. Write-Progress -Activity "Downloading PolicyFileEditor" -Status "Progress:" -PercentComplete 15
  19. Write-Host "Importing PolicyFileEditor Module"
  20. import-module PolicyFileEditor
  21. Write-Progress -Activity "Downloading PolicyFileEditor" -Status "Progress:" -PercentComplete 100
  22. Write-Host "Compacting O/S Files"
  23. Compact.exe /F /CompactOS:always
  24. Write-Host "Emptying Temp Files"
  25. $tempfolders = @(“C:\Windows\Temp\*, “C:\Windows\Prefetch\*, “C:\Documents and Settings\*\Local Settings\temp\*, “C:\Users\*\Appdata\Local\Temp\*)
  26. Remove-Item $tempfolders -force -recurse
  27. Write-Host "Enabling NTFS Compression"
  28. Set-PolicyFileEntry -Path $env:systemroot\system32\GroupPolicy\Machine\registry.pol -Key "System\CurrentControlSet\Policies" -ValueName NtfsDisableCompression -Type DWord -Data 0
  29.  
  30. Write-Host "Cleaning TEMP Files"
  31. cleanmgr.exe /d c: sageset:1 | Out-Null
  32. cleanmgr.exe /sagerun:1 | Out-Null
  33.  
  34. Write-Host "Cleaning extra crap out/disabling default features."
  35. Dism.exe /online /Remove-Capability /CapabilityName:Language.Handwriting~~~en-US~0.0.1.0
  36. Dism.exe /online /Remove-Capability /CapabilityName:Language.OCR~~~en-US~0.0.1.0
  37. Dism.exe /online /Remove-Capability /CapabilityName:Language.Speech~~~en-US~0.0.1.0
  38. Dism.exe /online /Remove-Capability /CapabilityName:Language.TextToSpeech~~~en-US~0.0.1.0
  39. Dism.exe /online /Remove-Capability /CapabilityName:RetailDemo.OfflineContent.Content~~~~0.0.1.0
  40. Dism.exe /online /Remove-Capability /CapabilityName:RetailDemo.OfflineContent.Content~~~en-US~0.0.1.0
  41. Dism.exe /online /Disable-Feature /FeatureName:FaxServicesClientPackage
  42. Dism.exe /online /Disable-Feature /FeatureName:MSRDC-Infrastructure
  43. Dism.exe /online /Disable-Feature /FeatureName:WCF-Services45
  44. Dism.exe /online /Disable-Feature /FeatureName:WCF-HTTP-Activation45
  45. Dism.exe /online /Disable-Feature /FeatureName:WCF-TCP-Activation45
  46. Dism.exe /online /Disable-Feature /FeatureName:WCF-TCP-PortSharing45
  47. Dism.exe /online /Disable-Feature /FeatureName:NetFx4-AdvSrvs
  48. Dism.exe /online /Disable-Feature /FeatureName:Printing-XPSServices-Features
  49. Dism.exe /online /Disable-Feature /FeatureName:Printing-PrintToPDFServices-Features
  50. Dism.exe /online /Disable-Feature /FeatureName:Xps-Foundation-Xps-Viewer
  51. Dism.exe /online /Disable-Feature /FeatureName:NetFx3
  52. Dism.exe /online /Disable-Feature /FeatureName:Internet-Explorer-Optional-amd64
  53.  
  54. Write-Host "Dism Cleanup..."
  55. Dism.exe /online /Cleanup-Image /StartComponentCleanup | Out-Null
  56. Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase | Out-Null
  57. Dism.exe /online /Cleanup-Image /SPSuperseded | Out-Null
  58. powercfg /h off
  59.  
  60. # Disable automatic pagefile management
  61. $cs = gwmi Win32_ComputerSystem
  62. if ($cs.AutomaticManagedPagefile) {
  63.     $cs.AutomaticManagedPagefile = $False
  64.     $cs.Put()
  65. }
  66. # Disable a *single* pagefile if any
  67. $pg = gwmi win32_pagefilesetting
  68. if ($pg) {
  69.     $pg.Delete()
  70. }
  71.  
  72. Write-Host
  73. Write-Host "Press any key to restart your system..." -ForegroundColor Black -BackgroundColor White
  74. $key = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
  75. Write-Host "Restarting..."
  76. Restart-Computer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement