Files
VSC/PowerShell/Script/_Example/Winget-SoftwareInstallation.ps1
T
claudio 368d6fafea Issue
Code backup
2026-05-10 16:59:01 +02:00

119 lines
4.6 KiB
PowerShell

##########################
# Writer: Davide Conforti
# Company: PAL s.r.l.
#-------------------------
# Date: 2023/02/20
# v: 1.0
# Reason: Emission
#-------------------------
##########################
# This is needed to run the software in debug mode
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
# Importing base functions
. \\pal.local\NETLOGON\Powershell\Base-Functions.ps1
$latestDate = "01/12/2021" # First release
$scriptUser = "DC"
$latestVersion = "1.0.0"
$displayName = "Software Installation Script"
#region Initialization
$logString = "`r`n"
$logString += "#################################`r`n"
$logString += "# __________ _____ .____ #`r`n"
$logString += "# \______ \/ _ \ | | #`r`n"
$logString += "# | ___/ /_\ \| | #`r`n"
$logString += "# | | / | \ |___ #`r`n"
$logString += "# |____| \____|__ /_______ \ #`r`n"
$logString += "# \/ \/ #`r`n"
$logString += "# #`r`n"
$logString += "#################################`r`n"
$logString += "`r`n"
$logString += "`r`n"
$logString += " *** $displayName *** `r`n"
$logString += "`r`n"
$logString += " Date: $($latestDate)`r`n"
$logString += " User: $($scriptUser)`r`n"
$logString += " Version: $($latestVersion)`r`n"
$logString += "`r`n"
try {
$logString += "Initializing WinGet...`r`n"
$logString += Initialize-Winget
$logString += "Done!`r`n"
$logString += "Getting the list of installed software...`r`n"
$installedSoftwareList = Get-WingetInstalledSoftware
$logString += "Done!`r`n"
# 7Zip
if(Get-IsComputerMemberOf -Group "PAL SFTW 7ZIP") {
$logString += Install-WingetSoftware -SoftwareName "7Zip" -SoftwareId "7zip.7zip" -InstalledSoftwareList $installedSoftwareList
}
# Adobe Acrobat Reader DC
if(Get-IsComputerMemberOf -Group "PAL SFTW ADOBE READER") {
$logString += Install-WingetSoftware -SoftwareName "Adobe Acrobat Reader DC (64-bit)" -SoftwareId "Adobe.Acrobat.Reader.64-bit" -InstalledSoftwareList $installedSoftwareList
}
# Anydesk
if(Get-IsComputerMemberOf -Group "PAL SFTW ANYDESK") {
$logString += Install-WingetSoftware -SoftwareName "Anydesk" -SoftwareId "AnyDeskSoftwareGmbH.AnyDesk" -InstalledSoftwareList $installedSoftwareList
}
# LibreOffice
if(Get-IsComputerMemberOf -Group "PAL SFTW LIBREOFFICE") {
$logString += Install-WingetSoftware -SoftwareName "Libreoffice" -SoftwareId "TheDocumentFoundation.LibreOffice" -InstalledSoftwareList $installedSoftwareList
}
# Mozilla Firefox
if(Get-IsComputerMemberOf -Group "PAL SFTW FIREFOX") {
$logString += Install-WingetSoftware -SoftwareName "Mozilla Firefox" -SoftwareId "Mozilla.Firefox" -InstalledSoftwareList $installedSoftwareList
}
# Mozilla Thunderbird
if(Get-IsComputerMemberOf -Group "PAL SFTW THUNDERBIRD") {
$logString += Install-WingetSoftware -SoftwareName "Mozilla Thunderbird" -SoftwareId "Mozilla.Thunderbird" -InstalledSoftwareList $installedSoftwareList
}
# Nextcloud Desktop
if(Get-IsComputerMemberOf -Group "PAL SFTW NEXTCLOUD DESKTOP") {
$logString += Install-WingetSoftware -SoftwareName "Nextcloud Desktop" -SoftwareId "Nextcloud.NextcloudDesktop" -InstalledSoftwareList $installedSoftwareList
}
# Notepad++
if(Get-IsComputerMemberOf -Group "PAL SFTW NOTEPAD PLUS PLUS") {
$logString += Install-WingetSoftware -SoftwareName "Notepad++" -SoftwareId "Notepad++.Notepad++" -InstalledSoftwareList $installedSoftwareList
}
# VideoLAN VLC Media Plauer
if(Get-IsComputerMemberOf -Group "PAL SFTW VLC") {
$logString += Install-WingetSoftware -SoftwareName "VideoLAN VLC" -SoftwareId "VideoLAN.VLC" -InstalledSoftwareList $installedSoftwareList
}
# Microsoft Visual Studio 7
if(Get-IsComputerMemberOf -Group "PAL SFTW VSC") {
$logString += Install-WingetSoftware -SoftwareName "Microsoft - Visual Studio Code" -SoftwareId "Microsoft.VisualStudioCode" -InstalledSoftwareList $installedSoftwareList
}
# Microsoft DotNet Runtime 7
$logString += Install-WingetSoftware -SoftwareName "Microsoft .NET Desktop Runtime 7" -SoftwareId "Microsoft.DotNet.DesktopRuntime.7" -InstalledSoftwareList $installedSoftwareList
# Microsoft WebView 2
$logString += Install-WingetSoftware -SoftwareName "Microsoft - WebView2 Runtime" -SoftwareId "Microsoft.EdgeWebView2Runtime" -InstalledSoftwareList $installedSoftwareList
# Upgrade all software
$logString += Install-WingetUpdates
}
catch {
$logString += "$_`r`n"
}
Write-Log $displayName $logString