Skip to content

Instantly share code, notes, and snippets.

@mwhitis
Forked from jrotello/Invoke-Boxstarter.ps1
Last active June 11, 2018 17:01
Show Gist options
  • Save mwhitis/c999ff2e004336412ff568870d5f62db to your computer and use it in GitHub Desktop.
Save mwhitis/c999ff2e004336412ff568870d5f62db 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 https://jrotello.com/boxstarter to https://gist.githubusercontent.com/jrotello/b7ea60809e5a0afac4a6c3cc7936ca9a/raw/Invoke-Boxstarter.ps1

Usage

    Invoke-RestMethod https://jrotello.com/boxstarter | Invoke-Expression

Shamelessly forked from jrotello on 9/26/17 so I could add my own packages. :)

. { Invoke-WebRequest -UseBasicParsing http://boxstarter.org/bootstrapper.ps1 } | Invoke-Expression
Get-Boxstarter -Force
Install-BoxstarterPackage `
-PackageName https://gist.githubusercontent.com/mwhitis/c999ff2e004336412ff568870d5f62db/raw/d412672e7aa2800f878f7de2b4f5d4c581312d44/Windows10-Setup.ps1 `
-Credential (Get-Credential -Message "Please provide login credentials for Boxstarter reboots")
## UPDATED 3/21/18 by M.Whitis
######################
# 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 `
-EnableShowFullPathInTitleBar `
-DisableOpenFileExplorerToQuickAccess `
-DisableShowRecentFilesInQuickAccess `
-DisableShowFrequentFoldersInQuickAccess
Set-TaskbarOptions `
-Dock Right `
-Combine Always `
-AlwaysShowIconsOff `
-Size Large
Set-TaskbarOptions -Lock
Disable-BingSearch
Update-ExecutionPolicy RemoteSigned
# Change Explorer home screen back to "This PC"
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Type DWord -Value 1
# 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
# Dark Theme for Windows (commenting out by default because this one's probbly a minority want)
# Note: the title bar text and such is still black with low contrast, and needs additional tweaks (it'll probably be better in a future build)
#If (-Not (Test-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize)) {
# New-Item -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes -Name Personalize | Out-Null
#}
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Type DWord -Value 0
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Type DWord -Value 0
# To Restore (Light Theme):
#Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Type DWord -Value 1
#Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -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
##################
### NOPE--- DOESN'T WORK WITH OUR AV... MW
###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 rufus -y
#choco install lessmsi -y
choco install vswhere -y
choco install nuget.commandline -y
choco install curl -y
choco install sysinternals -y
### MW BELOW ###
choco install agentransack -y
choco install cmdermini -y
choco install f.lux -y
# Languange Runtimes
choco install nodejs -y
choco install python -y
### MW BELOW ###
choco install dotnetcore -y
choco install jdk8 -y
# Applications
#choco install googlechrome -y
choco install visualstudiocode -y
#choco install docker-for-windows -y
choco install linqpad -y
choco install fiddler4 -y
choco install filezilla -y
choco install paint.net -y
#schoco install vlc -y
### MW BELOW ###
#choco install intellijidea-ultimate -y
choco install microsoft-teams -y
choco install notepadplusplus
choco install putty -y
#choco install slack -y
choco install sourcetree -y
choco install sublimetext3 -y
choco install sublimetext3.packagecontrol -y
choco install virtualbox -y
choco install virtualbox.extensionpack -y
choco install vmware-horizon-client -y
choco install dbeaver -y
choco install powershell -y
choco install windowsazurepowershell -y
choco install azure-cli -y
choco install microsoftazurestorageexplorer -y
choco install azcopy -y
choco install terminals -y
choco install openssh -y
choco install poshgit -y
choco install yarn -y
choco install ditto -y
choco install setpoint -y
choco install postman -y
##MERGE
choco install winmerge -y
choco install kdiff3 -y
choco install p4merge -y
choco install diffmerge -y
choco install araxismerge -y
choco install sql-server-management-studio -y
choco install sql-operations-studio
choco install visualstudio2017professional -y
choco install visualstudio2017-workload-azure -y
choco install resharper-platform -y
# MAAP
# ActiveClient
# Dell Display Manager
# Box Sync
# Squirrel or extract and transfer
# backup userprofile
# backup desktop
# backup documents
# commit git
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment