########################## # 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