Last active
September 9, 2020 17:25
-
-
Save jdkram/f8c998acac671a4f7affa0ddda7f23ea to your computer and use it in GitHub Desktop.
This file contains 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
# Boxstarter Script (Windows scripted deployment) | |
# originally github.com/elithrar <[email protected]> | |
# modified by github.com/jdkram on 2019-03-20 | |
# | |
# Install Boxstarter: | |
# . { iwr -useb http://boxstarter.org/bootstrapper.ps1 } | iex; get-boxstarter -Force | |
# | |
# Set: Set-ExecutionPolicy RemoteSigned | |
# Then: Install-BoxstarterPackage -PackageName <URL-TO-RAW-GIST> -DisableReboots | |
# | |
# Leverages: | |
# - jessfraz https://gist.github.com/jessfraz/7c319b046daa101a4aaef937a20ff41f | |
# - NickCraver https://gist.github.com/NickCraver/7ebf9efbfd0c3eab72e9 | |
# - Microsoft https://github.com/Microsoft/windows-dev-box-setup-scripts | |
# Pre | |
Disable-UAC | |
# Set PC name | |
$computername = "rob-pc" | |
if ($env:computername -ne $computername) { | |
Rename-Computer -NewName $computername | |
} | |
# Set DNS upstreams | |
# Set-DNSClientServerAddress -InterfaceIndex $(Get-NetAdapter | Where-object {$_.Name -like "*Wi-Fi*" } | Select-Object -ExpandProperty InterfaceIndex) -ServerAddresses "8.8.8.8", "1.1.1.1", "2001:4860:4860::8888", "2001:4860:4860::8844" | |
# Set environment variables | |
setx GOPATH "$env:USERPROFILE\go" | |
setx WSLENV "$env:WSLENV`:GOPATH/p:USERPROFILE/p" | |
# Install applications | |
choco install -y 1password | |
choco install -y 7zip.install | |
choco install -y bulk-crap-uninstaller | |
choco install -y calibre | |
choco install -y coretemp | |
choco install -y curl | |
choco install -y etcher | |
choco install -y everything | |
choco install -y irfanview | |
choco install -y firacode | |
choco install -y firefox | |
choco install -y foxitreader | |
choco install -y google-backup-and-sync | |
choco install -y GoogleChrome | |
choco install -y irfanview | |
choco install -y microsoft-windows-terminal | |
choco install -y miniconda3 | |
choco install -y nordvpn | |
choco install -y pandoc | |
choco install -y partitionwizard | |
choco install -y python3 | |
choco install -y ruby | |
choco install -y sublimetext3 | |
choco install -y steam | |
choco install -y thunderbird | |
choco install -y vim | |
choco install -y vlc | |
choco install -y wget | |
choco install -y wiztree | |
# WSL | |
choco install -y Microsoft-Hyper-V-All -source windowsFeatures | |
choco install -y Microsoft-Windows-Subsystem-Linux -source windowsfeatures | |
wsl --set-default-version 2 | |
choco install -y wsl-ubuntu-2004 | |
# System-level configuration | |
Disable-BingSearch | |
Disable-GameBarTips | |
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions | |
# Set-TaskbarOptions -Size Small -Dock Bottom -Combine Full -Lock | |
# Set-TaskbarOptions -Size Small -Dock Bottom -Combine Full -AlwaysShowIconsOn | |
Set-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\AppModelUnlock -Name AllowDevelopmentWithoutDevLicense -Value 1 | |
# Disable Xbox Gamebar | |
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" -Name AppCaptureEnabled -Type DWord -Value 0 | |
Set-ItemProperty -Path "HKCU:\System\GameConfigStore" -Name GameDVR_Enabled -Type DWord -Value 0 | |
# Turn off People in Taskbar | |
If (-Not (Test-Path "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People")) { | |
New-Item -Path HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People | Out-Null | |
} | |
Set-ItemProperty -Path "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People" -Name PeopleBand -Type DWord -Value 0 | |
# Change Explorer home screen back to "This PC" | |
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Type DWord -Value 1 | |
# File Explorer | |
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1 | |
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1 | |
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2 | |
# 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 downloads 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 | |
# 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 | |
# 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 | |
# Start Menu: Disable Bing Search Results | |
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Search -Name BingSearchEnabled -Type DWord -Value 0 | |
# To Restore (Enabled): | |
# Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Search -Name BingSearchEnabled -Type DWord -Value 1 | |
# Cleanup applications | |
function removeApp { | |
Param ([string]$appName) | |
Write-Output "Trying to remove $appName" | |
Get-AppxPackage $appName -AllUsers | Remove-AppxPackage | |
Get-AppXProvisionedPackage -Online | Where DisplayNam -like $appName | Remove-AppxProvisionedPackage -Online | |
} | |
$applicationList = @( | |
"Microsoft.3DBuilder" | |
"Microsoft.BingFinance" | |
"Microsoft.BingFinance" | |
"Microsoft.BingNews" | |
"Microsoft.BingSports" | |
"Microsoft.BingWeather" | |
"Microsoft.CommsPhone" | |
"Microsoft.FreshPaint" | |
# "Microsoft.GetHelp" | |
# "Microsoft.Getstarted" | |
"Microsoft.Messaging" | |
"Microsoft.MicrosoftOfficeHub" | |
"Microsoft.Office.Sway" | |
# "Microsoft.MicrosoftStickyNotes" | |
"Microsoft.NetworkSpeedTest" | |
"Microsoft.Office.Sway" | |
"Microsoft.OneConnect" | |
"Microsoft.Print3D" | |
"Microsoft.SkypeApp" | |
"Microsoft.WindowsAlarms" | |
"Microsoft.WindowsFeedbackHub" | |
"Microsoft.WindowsMaps" | |
"Microsoft.WindowsPhone" | |
# "Microsoft.WindowsSoundRecorder" | |
# "Microsoft.XboxApp" | |
# "Microsoft.XboxIdentityProvider" | |
"Microsoft.ZuneMusic" | |
"Microsoft.ZuneVideo" | |
"*Autodesk*" | |
"*BubbleWitch*" | |
"king.com*" | |
"G5*" | |
"*Dell*" | |
"*Facebook*" | |
"*Keeper*" | |
"MarchofEmpires" | |
"McAfee" | |
"*Minecraft*" | |
"*Netflix*" | |
"*Twitter*" | |
"*Solitaire*" | |
"*.Duolingo-LearnLanguagesforFree" | |
"*.EclipseManager" | |
"ActiproSoftwareLLC.562882FEEB491" # Code Writer | |
"*.AdobePhotoshopExpress" | |
); | |
foreach ($app in $applicationList) { | |
removeApp $app | |
} | |
# Uninstall McAfee Security App | |
$mcafee = gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "McAfee Security" } | select UninstallString | |
if ($mcafee) { | |
$mcafee = $mcafee.UninstallString -Replace "C:\Program Files\McAfee\MSC\mcuihost.exe", "" | |
Write "Uninstalling McAfee..." | |
start-process "C:\Program Files\McAfee\MSC\mcuihost.exe" -arg "$mcafee" -Wait | |
} | |
# Post | |
Enable-UAC | |
Enable-MicrosoftUpdate | |
Install-WindowsUpdate -acceptEula |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment