Skip to content

Instantly share code, notes, and snippets.

@jrotello
Forked from NickCraver/Windows10-Setup.ps1
Last active March 29, 2019 14:43
Show Gist options
  • Save jrotello/b7ea60809e5a0afac4a6c3cc7936ca9a to your computer and use it in GitHub Desktop.
Save jrotello/b7ea60809e5a0afac4a6c3cc7936ca9a to your computer and use it in GitHub Desktop.
Boxstarter

Boxstarter

I figured it was about time I setup a reproducible way of configuring my Windows 10 machines. I finally took a little bit of time to do it with the help of a solid Boxstarter template from Nick Craver (@Nick_Craver).

Check out the Boxstarter website for more informtion about this great tool.

In order to simplify the execution of this template, I set up a url that forwards http://boxstarter.rotello.me to https://gist.githubusercontent.com/jrotello/b7ea60809e5a0afac4a6c3cc7936ca9a/raw/Invoke-Boxstarter.ps1

Usage

    Invoke-RestMethod http://boxstarter.rotello.me | Invoke-Expression
. { Invoke-WebRequest -UseBasicParsing http://boxstarter.org/bootstrapper.ps1 } | Invoke-Expression
Get-Boxstarter -Force
Install-BoxstarterPackage `
-PackageName https://gist.githubusercontent.com/jrotello/b7ea60809e5a0afac4a6c3cc7936ca9a/raw/Windows10-Setup.ps1 `
-Credential (Get-Credential -Message "Please provide login credentials for Boxstarter reboots")
######################
# Configure Chocolatey
######################
choco config set --name=cacheLocation --value=C:\ChocolateyCache
choco feature enable --name=allowGlobalConfirmation
choco feature enable --name=useRememberedArgumentsForUpgrades
##################
# Privacy Settings
##################
# Privacy: Let apps use my advertising ID: Disable
#Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -Type DWord -Value 0
# To Restore:
#Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -Type DWord -Value 1
# Privacy: SmartScreen Filter for Store Apps: Disable
#Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost -Name EnableWebContentEvaluation -Type DWord -Value 0
# To Restore:
#Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost -Name EnableWebContentEvaluation -Type DWord -Value 1
# WiFi Sense: HotSpot Sharing: Disable
# Set-ItemProperty -Path HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting -Name value -Type DWord -Value 0
# WiFi Sense: Shared HotSpot Auto-Connect: Disable
#Set-ItemProperty -Path HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowAutoConnectToWiFiSenseHotspots -Name value -Type DWord -Value 0
# Disable Telemetry (requires a reboot to take effect)
# Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name AllowTelemetry -Type DWord -Value 0
# Get-Service DiagTrack,Dmwappushservice | Stop-Service | Set-Service -StartupType Disabled
############################
# Personal Preferences on UI
############################
Set-WindowsExplorerOptions `
-EnableShowHiddenFilesFoldersDrives `
-EnableShowFileExtensions `
-DisableOpenFileExplorerToQuickAccess `
-DisableShowRecentFilesInQuickAccess `
-DisableShowFrequentFoldersInQuickAccess
Set-TaskbarOptions `
-Dock Bottom `
-Combine Always `
-AlwaysShowIconsOff `
-Size Large
Set-TaskbarOptions -Lock
#Disable-BingSearch
Update-ExecutionPolicy RemoteSigned
# Disable the Lock Screen (the one before password prompt - to prevent dropping the first character)
# If (-Not (Test-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization)) {
# New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows -Name Personalization | Out-Null
# }
# Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization -Name NoLockScreen -Type DWord -Value 1
# To Restore:
#Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization -Name NoLockScreen -Type DWord -Value 1
###############################
# Windows 10 Metro App Removals
# These start commented out so you choose
# Just remove the # (comment in PowerShell) on the ones you want to remove
###############################
# Be gone, heathen!
Get-AppxPackage king.com.CandyCrushSaga | Remove-AppxPackage
# Bing Weather, News, Sports, and Finance (Money):
#Get-AppxPackage Microsoft.BingWeather | Remove-AppxPackage
Get-AppxPackage Microsoft.BingNews | Remove-AppxPackage
Get-AppxPackage Microsoft.BingSports | Remove-AppxPackage
Get-AppxPackage Microsoft.BingFinance | Remove-AppxPackage
# Xbox:
#Get-AppxPackage Microsoft.XboxApp | Remove-AppxPackage
# Windows Phone Companion
Get-AppxPackage Microsoft.WindowsPhone | Remove-AppxPackage
# Solitaire Collection
Get-AppxPackage Microsoft.MicrosoftSolitaireCollection | Remove-AppxPackage
# People
#Get-AppxPackage Microsoft.People | Remove-AppxPackage
# Groove Music
Get-AppxPackage Microsoft.ZuneMusic | Remove-AppxPackage
# Movies & TV
#Get-AppxPackage Microsoft.ZuneVideo | Remove-AppxPackage
# OneNote
#Get-AppxPackage Microsoft.Office.OneNote | Remove-AppxPackage
# Photos
#Get-AppxPackage Microsoft.Windows.Photos | Remove-AppxPackage
# Sound Recorder
#Get-AppxPackage Microsoft.WindowsSoundRecorder | Remove-AppxPackage
# Mail & Calendar
#Get-AppxPackage microsoft.windowscommunicationsapps | Remove-AppxPackage
# Skype (Metro version)
#Get-AppxPackage Microsoft.SkypeApp | Remove-AppxPackage
##################
# Windows Features
##################
choco install Microsoft-Hyper-V-All --source windowsfeatures
choco install Microsoft-Windows-Subsystem-Linux --source windowsfeatures
#################
# Windows Updates
#################
# Change Windows Updates to "Notify to schedule restart"
# Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings -Name UxOption -Type DWord -Value 1
# To Restore (Automatic):
# Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings -Name UxOption -Type DWord -Value 0
# Disable P2P Update downlods outside of local network
# Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config -Name DODownloadMode -Type DWord -Value 1
# Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization -Name SystemSettingsDownloadMode -Type DWord -Value 3
# To restore (PCs on my local network and PCs on the internet)
# Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config -Name DODownloadMode -Type DWord -Value 3
# Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization -Name SystemSettingsDownloadMode -Type DWord -Value 1
# To disable P2P update downloads completely:
# Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config -Name DODownloadMode -Type DWord -Value 0
Install-WindowsUpdate -AcceptEula -GetUpdatesFromMS
#############################
# Install Chocolatey Packages
#############################
# Fonts
choco install firacode -y
# Tools/Utilities
choco install git -y
choco install 7zip -y
#choco install consolez -y
choco install autohotkey.install -y
choco install greenshot -y
choco install carnac -y
choco install etcher -y
#choco install lessmsi -y
#choco install nuget.commandline -y
#choco install curl -y
choco install sysinternals -y
choco install gpg4win -y
# Languange Runtimes
choco install nodejs-lts -y
choco install python -y
# Applications
#choco install googlechrome -y
#choco install visualstudiocode -y
choco install docker-for-windows -y
choco install beyondcompare -y
choco install linqpad -y
#choco install fiddler4 -y
choco install filezilla -y
choco install vlc -y
choco install obs-studio -y
choco install audacity -y
choco install sourcetree -y
choco install postman -y
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment