Skip to content

Instantly share code, notes, and snippets.

@clabnet
Last active February 27, 2019 14:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save clabnet/ea4fc52778333cd7d30cff7e0debd980 to your computer and use it in GitHub Desktop.
Save clabnet/ea4fc52778333cd7d30cff7e0debd980 to your computer and use it in GitHub Desktop.
Boxstarter script for my development computer
# Boxstarter script for development environment
# START http://boxstarter.org/package/nr/url?
# oppure : START http://boxstarter.org/package/nr/url?c:\temp\install-my-computer.ps1
# oppure : Install-BoxstarterPackage -PackageName https://gist.github.com/clabnet/ea4fc52778333cd7d30cff7e0debd980 -DisableReboots
function SetPowerPlan([string]$PreferredPlan)
{
Write-Host "Setting Powerplan to $PreferredPlan"
$guid = (Get-WmiObject -Class win32_powerplan -Namespace root\cimv2\power -Filter "ElementName='$PreferredPlan'").InstanceID.tostring()
$regex = [regex]"{(.*?)}$"
$newpowerVal = $regex.Match($guid).groups[1].value
# setting power setting to high performance
powercfg -S $newpowerVal
}
# Boxstarter options
$Boxstarter.RebootOk=$true # Allow reboots?
$Boxstarter.NoPassword=$false # Is this a machine with no login password?
$Boxstarter.AutoLogin=$true # Save my password securely and auto-login after a reboot
# -------------------------
# Windows configuration changes
# -------------------------
Set-ExecutionPolicy Unrestricted
Disable-UAC
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowFileExtensions
Enable-RemoteDesktop
Disable-InternetExplorerESC
Disable-GameBarTips
Disable-BingSearch
Set-TaskbarOptions -Lock
# Power plan setup
SetPowerPlan "High performance"
Write-BoxstarterMessage "Setting Standby Timeout to Never"
& powercfg.exe -change -standby-timeout-ac 0
& powercfg.exe -change -standby-timeout-dc 0
Write-BoxstarterMessage "Setting Monitor Timeout to Never"
& powercfg.exe -change -monitor-timeout-ac 0
& powercfg.exe -change -monitor-timeout-dc 0
Write-BoxstarterMessage "Setting Disk Timeout to Never"
& powercfg.exe -change -disk-timeout-ac 0
& powercfg.exe -change -disk-timeout-dc 0
Write-BoxstarterMessage "Turning off Windows Hibernation"
& powercfg.exe -h off
# Install chocolatey
#cinst chocolatey
#choco feature enable -n allowGlobalConfirmation
#choco feature enable -n allowEmptyChecksums
#choco feature enable -n allowEmptyChecksumsSecure
#choco feature disable -n checksumFiles
iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
choco install -y boxstarter
# DotNet Runtime
cinst dotnet3.5 -y
cinst dotnet4.5.1 -y
cinst DotNet4.6.1 -y
if (Test-PendingReboot) { Invoke-Reboot }
# Windows Features
#cinst Microsoft-Hyper-V-All -source windowsFeatures
cinst IIS-WebServerRole -source windowsfeatures
cinst IIS-WebServer -source windowsfeatures
cinst IIS-HttpCompressionDynamic -source windowsfeatures
cinst IIS-ManagementScriptingTools -source windowsfeatures
cinst IIS-WindowsAuthentication -source windowsfeatures
cinst IIS-Security -source windowsfeatures
if (Test-PendingReboot) { Invoke-Reboot }
# Windows Update and reboot if necessary
Install-WindowsUpdate -AcceptEula -GetUpdatesFromMS
if (Test-PendingReboot) { Invoke-Reboot }
Disable-MicrosoftUpdate
# Browsers
cinst googlechrome -ignore-checksums
cinst firefox -packageParameters "l=en-US"
if (Test-PendingReboot) { Invoke-Reboot }
# Essentials software
cinst 7zip
cinst adobereader
cinst javaruntime
cinst jdk8
cinst typora
cinst notepadplusplus
cinst dropbox
cinst teamviewer
cinst slack
cinst skype
cinst treesizefree
cinst virtualclonedrive
cinst thunderbird
cinst keepass
cinst Ditto
cinst PDFCreator
#cinst ultradefrag
cinst virtualbox
cinst ccleaner
cinst xplorer2pro
cinst hashtab
cinst ilspy
cinst openvpn
cinst rdmfree
cinst curl -y
cinst wget -y
cinst -y spotify
## Developer
cinst git
cinst git.install
cinst gitkraken
cinst sublimetext3
cinst fiddler4
cinst beyondcompare
cinst TestDriven.Net
cinst filezilla
if (Test-PendingReboot) { Invoke-Reboot }
# Node
cinst nodejs
cinst nodejs.install
cinst npm
cinst yarn
#Write-Host 'Installing Bower. This may take a few minutes'
#cmd /c "refreshenv && npm install -g bower"
Write-Host 'Installing Gulp. This may take a few minutes'
cmd /c "refreshenv && npm install -g gulp"
# Developer Environment
cinst mongodb
#SQL Server 2014 Express
cinst mssql2014express-defaultinstance
cinst sql-server-management-studio
if (Test-PendingReboot) { Invoke-Reboot }
# Install Visual Studio 2017 Professional
cinst visualstudio2017professional
# Install Visual Studio Code
cinst vscode
if (Test-PendingReboot) { Invoke-Reboot }
# VS extensions
#Install-ChocolateyVsixPackage WebEssentials2013 http://visualstudiogallery.msdn.microsoft.com/56633663-6799-41d7-9df7-0f2a504ca361/file/105627/31/WebEssentials2013.vsix
# Windows Explorer settings
#Install-ChocolateyPinnedTaskBarItem "$($Boxstarter.programFiles86)\Google\Chrome\Application\chrome.exe"
Install-ChocolateyPinnedTaskBarItem "$($Boxstarter.programFiles)\Mozilla Firefox\firefox.exe"
#Install-ChocolateyPinnedTaskBarItem "$($Boxstarter.programFiles86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
#Install-ChocolateyPinnedTaskBarItem "$($Boxstarter.programFiles86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\Ssms.exe"
#Install-ChocolateyPinnedTaskBarItem "$env:programfiles\Sublime Text 3\sublime_text.exe"
# Remove windows update uninstallers
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
#Cleanup the disk
Start-Process -FilePath "C:\Program Files\CCleaner\CCleaner.exe" -ArgumentList "/CLEANER /AUTO"
Start-Sleep -s 20
# Defragment drive
#Start-Process -FilePath "udefrag.exe" -ArgumentList '--optimize --repeat C:' -Wait
Write-BoxstarterMessage "Enabling UAC, Windows Update, and Cleaning up Boxstarter junk"
Update-ExecutionPolicy Unrestricted
Enable-MicrosoftUpdate
Install-WindowsUpdate -acceptEula -GetUpdatesFromMS
#Turn UAC Back on
Enable-UAC
# Final operation. Shutdown.
stop-computer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment