Skip to content

Instantly share code, notes, and snippets.

@kolosovpetro
Last active September 13, 2023 12:35
Show Gist options
  • Save kolosovpetro/e31136f840457b6b15032eb42c5daae3 to your computer and use it in GitHub Desktop.
Save kolosovpetro/e31136f840457b6b15032eb42c5daae3 to your computer and use it in GitHub Desktop.
Windows software list using Chocolatey
# Install Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force;
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'));
# Upgrade Chocolatey
choco upgrade chocolatey
# List outdated packages
choco outdated
# Browsers
choco install googlechrome -y
# Install .NET SDKs
choco install dotnet-6.0-sdk -y
choco install dotnetcore-sdk -y
choco install dotnetcore-2.1-sdk -y
choco install netfx-4.8-devpack -y
choco install netfx-4.7.1-devpack -y
choco install netfx-4.7.2-devpack -y
choco install netfx-4.6.2-devpack -y
# Instal Dev Tools
choco install azure-cli -y
choco install microsoft-windows-terminal -y
choco install azcopy10 -y
choco install git.install -y
choco install openssl -y
choco install powershell-core -y
choco install nvm -y
choco install sql-server-management-studio -y
choco install visualstudio2022enterprise -y
choco install vscode -y
choco install postman -y
choco install fiddler -y
choco install terraform -y
choco install kubernetes-cli -y
choco install kubernetes-helm -y
choco install python3 -y
choco install terraform-docs -y
choco install tflint -y
choco install docker-desktop -y
choco install jetbrainstoolbox -y
choco install terminals -y
choco install packer -y
# VPNs
choco install forticlientvpn -y
choco install netextender -y
choco install openvpn -y
# Password managers
choco install keepass -y
choco install nordpass -y
# Other
choco install winrar -y
choco install notepadplusplus -y
choco install vlc -y
choco install qbittorrent -y
choco install miktex -y
choco install foxitreader -y
choco install coretemp -y
choco install figma -y
choco install totalcommander -y
choco install sumatrapdf.install -y
choco install discord -y
choco install obs-studio -y
choco install itunes -y
choco install k-litecodecpackmega -y
choco install steam-client -y
# install .NET Framework 4.6.2 before sharex
choco install sharex -y
# winget install -e --id Microsoft.DotNet.Framework.DeveloperPack_4
# Set-ExecutionPolicy Bypass -Scope Process -Force;
# [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
# Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# List of software packages to install or upgrade
$packageList = @(
# "googlechrome",
"dotnet-6.0-sdk",
"dotnetcore-sdk",
"dotnetcore-2.1-sdk",
# "netfx-4.8-devpack",
# "netfx-4.7.1-devpack",
# "netfx-4.7.2-devpack",
# "netfx-4.6.2-devpack",
"azure-cli",
"microsoft-windows-terminal",
"azcopy10",
"git.install",
"openssl",
"powershell-core",
"nvm",
"sql-server-management-studio",
"visualstudio2022enterprise",
"vscode",
"postman",
# "fiddler",
"terraform",
"kubernetes-cli",
"kubernetes-helm",
"python3",
"terraform-docs",
"tflint",
# "docker-desktop",
"jetbrainstoolbox",
"terminals",
"packer",
"vagrant",
"forticlientvpn",
"netextender",
# "openvpn",
"keepass",
"nordpass",
"winrar",
"notepadplusplus",
"vlc",
"qbittorrent",
"miktex",
"foxitreader",
"coretemp",
# "figma",
"totalcommander",
"sumatrapdf.install",
"discord",
# "obs-studio",
"itunes",
"k-litecodecpackmega",
# "steam-client",
"sharex"
)
Write-Host "Trying to upgrade chocolatey... "
choco upgrade chocolatey
Write-Host "Installing Google chrome ignoring checksums ..."
choco install googlechrome --ignore-checksums -y
$StartTime = (Get-Date)
$installedPackages = choco list --local-only --limit-output
foreach ($package in $packageList) {
# Check if the package is already installed
# $installedPackage = Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name = '$package'" -ErrorAction SilentlyContinue
if ($installedPackages -match "$package") {
# Package is not installed, so install it
Write-Host "$package already installed, trying to upgrade ..."
choco upgrade --yes $package
}
else {
# Package is already installed, so upgrade it
Write-Host "Installing $package..."
choco install --yes $package
}
}
$EndTime = (Get-Date)
$TotalTime = $EndTime - $StartTime
$TotalTimeString = $TotalTime.ToString();
Write-Host "Execution time: $TotalTimeString"
Write-Host "Software installation and upgrade completed."
# Set-ExecutionPolicy Bypass -Scope Process -Force;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment