Last active
April 13, 2019 20:22
-
-
Save sgreve/5febf372aaa6e4cc1fda71ad9637e527 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
########## | |
# Win10 Post Setup Script | |
# Original Author: Disassembler <[email protected]> | |
# Edited by Sven212 | |
# Version: 1.5, 2016-06-08 | |
########## | |
# Ask for elevated permissions if required | |
If (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator")) { | |
Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs | |
Exit | |
} | |
########## | |
# Privacy settings | |
########## | |
# Disable telemetry | |
Write-Host "Disabling telemetry..." | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Type DWord -Value 0 | |
# Add telemetry domains to hosts file | |
Write-Host "Adding telemetry domains to hosts file" | |
$hosts_file = "$env:systemroot\System32\drivers\etc\hosts" | |
$domains = @( | |
"a-0001.a-msedge.net" | |
"a-0002.a-msedge.net" | |
"a-0003.a-msedge.net" | |
"a-0004.a-msedge.net" | |
"a-0005.a-msedge.net" | |
"a-0006.a-msedge.net" | |
"a-0007.a-msedge.net" | |
"a-0008.a-msedge.net" | |
"a-0009.a-msedge.net" | |
"a1621.g.akamai.net" | |
"a1856.g2.akamai.net" | |
"a1961.g.akamai.net" | |
"a978.i6g1.akamai.net" | |
"a.ads1.msn.com" | |
"a.ads2.msads.net" | |
"a.ads2.msn.com" | |
"ac3.msn.com" | |
"ad.doubleclick.net" | |
"adnexus.net" | |
"adnxs.com" | |
"ads1.msads.net" | |
"ads1.msn.com" | |
"ads.msn.com" | |
"aidps.atdmt.com" | |
"aka-cdn-ns.adtech.de" | |
"a-msedge.net" | |
"any.edge.bing.com" | |
"a.rad.msn.com" | |
"az361816.vo.msecnd.net" | |
"az512334.vo.msecnd.net" | |
"b.ads1.msn.com" | |
"b.ads2.msads.net" | |
"bingads.microsoft.com" | |
"b.rad.msn.com" | |
"bs.serving-sys.com" | |
"c.atdmt.com" | |
"cdn.atdmt.com" | |
"cds26.ams9.msecn.net" | |
"choice.microsoft.com" | |
"choice.microsoft.com.nsatc.net" | |
"c.msn.com" | |
"compatexchange.cloudapp.net" | |
"corpext.msitadfs.glbdns2.microsoft.com" | |
"corp.sts.microsoft.com" | |
"cs1.wpc.v0cdn.net" | |
"db3aqu.atdmt.com" | |
"df.telemetry.microsoft.com" | |
"diagnostics.support.microsoft.com" | |
"e2835.dspb.akamaiedge.net" | |
"e7341.g.akamaiedge.net" | |
"e7502.ce.akamaiedge.net" | |
"e8218.ce.akamaiedge.net" | |
"ec.atdmt.com" | |
"fe2.update.microsoft.com.akadns.net" | |
"feedback.microsoft-hohm.com" | |
"feedback.search.microsoft.com" | |
"feedback.windows.com" | |
"flex.msn.com" | |
"g.msn.com" | |
"h1.msn.com" | |
"h2.msn.com" | |
"hostedocsp.globalsign.com" | |
"i1.services.social.microsoft.com" | |
"i1.services.social.microsoft.com.nsatc.net" | |
"ipv6.msftncsi.com" | |
"ipv6.msftncsi.com.edgesuite.net" | |
"lb1.www.ms.akadns.net" | |
"live.rads.msn.com" | |
"m.adnxs.com" | |
"msedge.net" | |
"msftncsi.com" | |
"msnbot-65-55-108-23.search.msn.com" | |
"msntest.serving-sys.com" | |
"oca.telemetry.microsoft.com" | |
"oca.telemetry.microsoft.com.nsatc.net" | |
"onesettings-db5.metron.live.nsatc.net" | |
"pre.footprintpredict.com" | |
"preview.msn.com" | |
"rad.live.com" | |
"rad.msn.com" | |
"redir.metaservices.microsoft.com" | |
"reports.wes.df.telemetry.microsoft.com" | |
"schemas.microsoft.akadns.net" | |
"secure.adnxs.com" | |
"secure.flashtalking.com" | |
"services.wes.df.telemetry.microsoft.com" | |
"settings-sandbox.data.microsoft.com" | |
"settings-win.data.microsoft.com" | |
"sls.update.microsoft.com.akadns.net" | |
"sqm.df.telemetry.microsoft.com" | |
"sqm.telemetry.microsoft.com" | |
"sqm.telemetry.microsoft.com.nsatc.net" | |
"ssw.live.com" | |
"static.2mdn.net" | |
"statsfe1.ws.microsoft.com" | |
"statsfe2.update.microsoft.com.akadns.net" | |
"statsfe2.ws.microsoft.com" | |
"survey.watson.microsoft.com" | |
"telecommand.telemetry.microsoft.com" | |
"telecommand.telemetry.microsoft.com.nsatc.net" | |
"telemetry.appex.bing.net" | |
"telemetry.appex.bing.net:443" | |
"telemetry.microsoft.com" | |
"telemetry.urs.microsoft.com" | |
"vortex-bn2.metron.live.com.nsatc.net" | |
"vortex-cy2.metron.live.com.nsatc.net" | |
"vortex.data.microsoft.com" | |
"vortex-sandbox.data.microsoft.com" | |
"vortex-win.data.microsoft.com" | |
"watson.live.com" | |
"watson.microsoft.com" | |
"watson.ppe.telemetry.microsoft.com" | |
"watson.telemetry.microsoft.com" | |
"watson.telemetry.microsoft.com.nsatc.net" | |
"wes.df.telemetry.microsoft.com" | |
"win10.ipv6.microsoft.com" | |
"www.bingads.microsoft.com" | |
"www.go.microsoft.akadns.net" | |
"www.msftncsi.com" | |
} | |
foreach ($domain in $domains) { | |
if (-Not (Select-String -Path $hosts_file -Pattern $domain)) { | |
echo "0.0.0.0 $domain" | Out-File -Encoding ASCII -Append $hosts_file | |
} | |
} | |
# Add telemetry ips to Firewall | |
Write-Host "Adding telemetry ips to firewall" | |
$ips = @( | |
"134.170.30.202" | |
"137.116.81.24" | |
"157.56.106.189" | |
"2.22.61.43" | |
"2.22.61.66" | |
"204.79.197.200" | |
"23.218.212.69" | |
"65.39.117.230" | |
"65.52.108.33" | |
"65.55.108.23" | |
) | |
Remove-NetFirewallRule -DisplayName "Block Telemetry IPs" -ErrorAction SilentlyContinue | |
New-NetFirewallRule -DisplayName "Block Telemetry IPs" -Direction Outbound ` | |
-Action Block -RemoteAddress ([string[]]$ips) | |
# Disable Wi-Fi Sense | |
Write-Host "Disabling Wi-Fi Sense..." | |
If (!(Test-Path "HKLM:\SOFTWARE\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting")) { | |
New-Item -Path "HKLM:\SOFTWARE\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting" -Force | Out-Null | |
} | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting" -Name "Value" -Type DWord -Value 0 | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PolicyManager\default\WiFi\AllowAutoConnectToWiFiSenseHotspots" -Name "Value" -Type DWord -Value 0 | |
# Disable SmartScreen Filter | |
Write-Host "Disabling SmartScreen Filter..." | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" -Name "SmartScreenEnabled" -Type String -Value "Off" | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost" -Name "EnableWebContentEvaluation" -Type DWord -Value 0 | |
# Disable Bing Search in Start Menu | |
Write-Host "Disabling Bing Search in Start Menu..." | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" -Name "BingSearchEnabled" -Type DWord -Value 0 | |
# Disable Start Menu suggestions | |
Write-Host "Disabling Start Menu suggestions..." | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Name "SystemPaneSuggestionsEnabled" -Type DWord -Value 0 | |
# Disable Location Tracking | |
Write-Host "Disabling Location Tracking..." | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Sensor\Overrides\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}" -Name "SensorPermissionState" -Type DWord -Value 0 | |
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lfsvc\Service\Configuration" -Name "Status" -Type DWord -Value 0 | |
# Disable Feedback | |
Write-Host "Disabling Feedback..." | |
If (!(Test-Path "HKCU:\SOFTWARE\Microsoft\Siuf\Rules")) { | |
New-Item -Path "HKCU:\SOFTWARE\Microsoft\Siuf\Rules" -Force | Out-Null | |
} | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Siuf\Rules" -Name "NumberOfSIUFInPeriod" -Type DWord -Value 0 | |
# Disable Advertising ID | |
Write-Host "Disabling Advertising ID..." | |
If (!(Test-Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo")) { | |
New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" | Out-Null | |
} | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" -Name "Enabled" -Type DWord -Value 0 | |
# Disable Cortana | |
Write-Host "Disabling Cortana..." | |
If (!(Test-Path "HKCU:\SOFTWARE\Microsoft\Personalization\Settings")) { | |
New-Item -Path "HKCU:\SOFTWARE\Microsoft\Personalization\Settings" -Force | Out-Null | |
} | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Personalization\Settings" -Name "AcceptedPrivacyPolicy" -Type DWord -Value 0 | |
If (!(Test-Path "HKCU:\SOFTWARE\Microsoft\InputPersonalization")) { | |
New-Item -Path "HKCU:\SOFTWARE\Microsoft\InputPersonalization" -Force | Out-Null | |
} | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\InputPersonalization" -Name "RestrictImplicitTextCollection" -Type DWord -Value 1 | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\InputPersonalization" -Name "RestrictImplicitInkCollection" -Type DWord -Value 1 | |
If (!(Test-Path "HKCU:\SOFTWARE\Microsoft\InputPersonalization\TrainedDataStore")) { | |
New-Item -Path "HKCU:\SOFTWARE\Microsoft\InputPersonalization\TrainedDataStore" -Force | Out-Null | |
} | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\InputPersonalization\TrainedDataStore" -Name "HarvestContacts" -Type DWord -Value 0 | |
# Restrict Windows Update P2P only to local network | |
Write-Host "Restricting Windows Update P2P only to local network..." | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config" -Name "DODownloadMode" -Type DWord -Value 1 | |
If (!(Test-Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization")) { | |
New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization" | Out-Null | |
} | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization" -Name "SystemSettingsDownloadMode" -Type DWord -Value 3 | |
# Remove AutoLogger file and restrict directory | |
Write-Host "Removing AutoLogger file and restricting directory..." | |
$autoLoggerDir = "$env:PROGRAMDATA\Microsoft\Diagnosis\ETLLogs\AutoLogger" | |
If (Test-Path "$autoLoggerDir\AutoLogger-Diagtrack-Listener.etl") { | |
Remove-Item "$autoLoggerDir\AutoLogger-Diagtrack-Listener.etl" | |
} | |
icacls $autoLoggerDir /deny SYSTEM:`(OI`)`(CI`)F | Out-Null | |
# Stop and disable Diagnostics Tracking Service | |
Write-Host "Stopping and disabling Diagnostics Tracking Service..." | |
Stop-Service "DiagTrack" | |
Set-Service "DiagTrack" -StartupType Disabled | |
# Stop and disable WAP Push Service | |
Write-Host "Stopping and disabling WAP Push Service..." | |
Stop-Service "dmwappushservice" | |
Set-Service "dmwappushservice" -StartupType Disabled | |
########## | |
# Service Tweaks | |
########## | |
# Lower UAC level | |
#Write-Host "Lowering UAC level..." | |
#Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorAdmin" -Type DWord -Value 0 | |
#Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "PromptOnSecureDesktop" -Type DWord -Value 0 | |
# Enable sharing mapped drives between users | |
Write-Host "Enabling sharing mapped drives between users..." | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLinkedConnections" -Type DWord -Value 1 | |
# Disable implicit administrative shares | |
Write-Host "Disabling implicit administrative shares..." | |
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name "AutoShareWks" -Type DWord -Value 0 | |
# Disable Firewall | |
Write-Host "Disabling Firewall..." | |
Set-NetFirewallProfile -Profile * -Enabled False | |
# Disable Windows Defender | |
Write-Host "Disabling Windows Defender..." | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender" -Name "DisableAntiSpyware" -Type DWord -Value 1 | |
# Disable offering of Malicious Software Removal Tool through Windows Update | |
Write-Host "Disabling Malicious Software Removal Tool offering..." | |
If (!(Test-Path "HKLM:\SOFTWARE\Policies\Microsoft\MRT")) { | |
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\MRT" | Out-Null | |
} | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\MRT" -Name "DontOfferThroughWUAU" -Type DWord -Value 1 | |
# Disable Windows Update automatic restart | |
Write-Host "Disabling Windows Update automatic restart..." | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" -Name "UxOption" -Type DWord -Value 1 | |
# Stop and disable Home Groups services | |
Write-Host "Stopping and disabling Home Groups services..." | |
Stop-Service "HomeGroupListener" | |
Set-Service "HomeGroupListener" -StartupType Disabled | |
Stop-Service "HomeGroupProvider" | |
Set-Service "HomeGroupProvider" -StartupType Disabled | |
# Disable Remote Assistance | |
Write-Host "Disabling Remote Assistance..." | |
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Remote Assistance" -Name "fAllowToGetHelp" -Type DWord -Value 0 | |
########## | |
# UI Tweaks | |
########## | |
# Disable Action Center | |
Write-Host "Disabling Action Center..." | |
If (!(Test-Path "HKCU:\SOFTWARE\Policies\Microsoft\Windows\Explorer")) { | |
New-Item -Path "HKCU:\SOFTWARE\Policies\Microsoft\Windows\Explorer" | Out-Null | |
} | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Policies\Microsoft\Windows\Explorer" -Name "DisableNotificationCenter" -Type DWord -Value 1 | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\PushNotifications" -Name "ToastEnabled" -Type DWord -Value 0 | |
# Disable Autoplay | |
Write-Host "Disabling Autoplay..." | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers" -Name "DisableAutoplay" -Type DWord -Value 1 | |
# Disable Autorun for all drives | |
Write-Host "Disabling Autorun for all drives..." | |
If (!(Test-Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer")) { | |
New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" | Out-Null | |
} | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" -Name "NoDriveTypeAutoRun" -Type DWord -Value 255 | |
# Disable Sticky keys prompt | |
Write-Host "Disabling Sticky keys prompt..." | |
Set-ItemProperty -Path "HKCU:\Control Panel\Accessibility\StickyKeys" -Name "Flags" -Type String -Value "506" | |
# Show small icons in taskbar | |
#Write-Host "Showing small icons in taskbar..." | |
#Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "TaskbarSmallIcons" -Type DWord -Value 1 | |
# Show titles in taskbar | |
#Write-Host "Showing titles in taskbar..." | |
#Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "TaskbarGlomLevel" -Type DWord -Value 1 | |
# Show known file extensions | |
Write-Host "Showing known file extensions..." | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "HideFileExt" -Type DWord -Value 0 | |
# Show hidden files | |
#Write-Host "Showing hidden files..." | |
#Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "Hidden" -Type DWord -Value 1 | |
# Change default Explorer view to This PC | |
Write-Host "Changing default Explorer view to This PC..." | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "LaunchTo" -Type DWord -Value 1 | |
########## | |
# Remove unwanted applications | |
########## | |
# Disable OneDrive | |
Write-Host "Disabling OneDrive..." | |
If (!(Test-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive")) { | |
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive" | Out-Null | |
} | |
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive" -Name "DisableFileSyncNGSC" -Type DWord -Value 1 | |
# Uninstall OneDrive | |
Write-Host "Uninstalling OneDrive..." | |
Stop-Process -Name OneDrive -ErrorAction SilentlyContinue | |
Start-Sleep -s 3 | |
$onedrive = "$env:SYSTEMROOT\SysWOW64\OneDriveSetup.exe" | |
If (!(Test-Path $onedrive)) { | |
$onedrive = "$env:SYSTEMROOT\System32\OneDriveSetup.exe" | |
} | |
Start-Process $onedrive "/uninstall" -NoNewWindow -Wait | |
Start-Sleep -s 3 | |
Stop-Process -Name explorer -ErrorAction SilentlyContinue | |
Start-Sleep -s 3 | |
Remove-Item "$env:USERPROFILE\OneDrive" -Force -Recurse -ErrorAction SilentlyContinue | |
Remove-Item "$env:LOCALAPPDATA\Microsoft\OneDrive" -Force -Recurse -ErrorAction SilentlyContinue | |
Remove-Item "$env:PROGRAMDATA\Microsoft OneDrive" -Force -Recurse -ErrorAction SilentlyContinue | |
If (Test-Path "$env:SYSTEMDRIVE\OneDriveTemp") { | |
Remove-Item "$env:SYSTEMDRIVE\OneDriveTemp" -Force -Recurse -ErrorAction SilentlyContinue | |
} | |
If (!(Test-Path "HKCR:")) { | |
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT | Out-Null | |
} | |
Remove-Item -Path "HKCR:\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" -Recurse -ErrorAction SilentlyContinue | |
Remove-Item -Path "HKCR:\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" -Recurse -ErrorAction SilentlyContinue | |
# Uninstall default Microsoft applications | |
Write-Host "Uninstalling default Microsoft applications..." | |
Get-AppxPackage "Microsoft.3DBuilder" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.BingFinance" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.BingNews" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.BingSports" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.BingWeather" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.Getstarted" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.MicrosoftOfficeHub" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.MicrosoftSolitaireCollection" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.Office.OneNote" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.People" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.SkypeApp" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.Windows.Photos" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.WindowsAlarms" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.WindowsCamera" | Remove-AppxPackage | |
Get-AppxPackage "microsoft.windowscommunicationsapps" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.WindowsMaps" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.WindowsPhone" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.WindowsSoundRecorder" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.XboxApp" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.ZuneMusic" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.ZuneVideo" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.AppConnector" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.ConnectivityStore" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.Office.Sway" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.Messaging" | Remove-AppxPackage | |
Get-AppxPackage "Microsoft.CommsPhone" | Remove-AppxPackage | |
Get-AppxPackage "9E2F88E3.Twitter" | Remove-AppxPackage | |
Get-AppxPackage "king.com.CandyCrushSodaSaga" | Remove-AppxPackage | |
# Uninstall Windows Media Player | |
Write-Host "Uninstalling Windows Media Player..." | |
dism /online /Disable-Feature /FeatureName:MediaPlayback /Quiet /NoRestart | |
# Uninstall Work Folders Client | |
Write-Host "Uninstalling Work Folders Client..." | |
dism /online /Disable-Feature /FeatureName:WorkFolders-Client /Quiet /NoRestart | |
# Set Photo Viewer as default for bmp, gif, jpg and png | |
Write-Host "Setting Photo Viewer as default for bmp, gif, jpg, png and tif..." | |
If (!(Test-Path "HKCR:")) { | |
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT | Out-Null | |
} | |
ForEach ($type in @("Paint.Picture", "giffile", "jpegfile", "pngfile")) { | |
New-Item -Path $("HKCR:\$type\shell\open") -Force | Out-Null | |
New-Item -Path $("HKCR:\$type\shell\open\command") | Out-Null | |
Set-ItemProperty -Path $("HKCR:\$type\shell\open") -Name "MuiVerb" -Type ExpandString -Value "@%ProgramFiles%\Windows Photo Viewer\photoviewer.dll,-3043" | |
Set-ItemProperty -Path $("HKCR:\$type\shell\open\command") -Name "(Default)" -Type ExpandString -Value "%SystemRoot%\System32\rundll32.exe `"%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll`", ImageView_Fullscreen %1" | |
} | |
# Show Photo Viewer in "Open with..." | |
Write-Host "Showing Photo Viewer in `"Open with...`"" | |
If (!(Test-Path "HKCR:")) { | |
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT | Out-Null | |
} | |
New-Item -Path "HKCR:\Applications\photoviewer.dll\shell\open\command" -Force | Out-Null | |
New-Item -Path "HKCR:\Applications\photoviewer.dll\shell\open\DropTarget" -Force | Out-Null | |
Set-ItemProperty -Path "HKCR:\Applications\photoviewer.dll\shell\open" -Name "MuiVerb" -Type String -Value "@photoviewer.dll,-3043" | |
Set-ItemProperty -Path "HKCR:\Applications\photoviewer.dll\shell\open\command" -Name "(Default)" -Type ExpandString -Value "%SystemRoot%\System32\rundll32.exe `"%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll`", ImageView_Fullscreen %1" | |
Set-ItemProperty -Path "HKCR:\Applications\photoviewer.dll\shell\open\DropTarget" -Name "Clsid" -Type String -Value "{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}" | |
# Enable F8 boot menu options | |
Write-Host "Enabling F8 boot menu options..." | |
bcdedit /set `{current`} bootmenupolicy Legacy | Out-Null | |
########## | |
# Restart | |
########## | |
Write-Host | |
Write-Host "Press any key to restart your system..." -ForegroundColor Black -BackgroundColor White | |
$key = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | |
Write-Host "Restarting..." | |
Restart-Computer |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment