Update App Install or Upgrade Scripts/App - Chrome - Install or Upgrade.ps1

This commit is contained in:
2025-08-05 17:06:00 +00:00
parent ad9ec4b09c
commit af61b17e0b
@@ -1,61 +1,61 @@
<# <#
Author: Gabe Kerntke Author: Gabe Kerntke
Date: 05-10-2024 Date: 05-10-2024
.Synopsis .Synopsis
Script to install Chrome on machines that do not already have it or upgrade to the newest version if behind Script to install Chrome on machines that do not already have it or upgrade to the newest version if behind
.Modified .Modified
2024-05-10 (GabeK) - Original script created 2024-05-10 (GabeK) - Original script created
2025-05-21 (GabeK) - Rebuilt to use functions script 2025-05-21 (GabeK) - Rebuilt to use functions script
#> #>
[CmdletBinding()] [CmdletBinding()]
Param( Param(
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$App_Name = "Chrome", $App_Name = "Chrome",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$File_Name_Prefix = "Chrome-x64", $File_Name_Prefix = "Chrome-x64",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$File_Name_Extension = "exe", $File_Name_Extension = "exe",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$Install_Parameters = "/silent /install", $Install_Parameters = "/silent /install",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$EPCache_Folder = "3rd Party Patches\$App_Name", $EPCache_Folder = "3rd Party Patches\$App_Name",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$Version_URL = "https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versions", $Version_URL = "https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versions",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$Online_Version = "Invoke-RestMethod $Version_URL | Select-Object -ExpandProperty versions | Select-Object -ExpandProperty version | Select-Object -First 1", $Online_Version = "Invoke-RestMethod $Version_URL | Select-Object -ExpandProperty versions | Select-Object -ExpandProperty version | Select-Object -First 1",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$DownloadURL = "https://dl.google.com/chrome/install/latest/chrome_installer.exe", $DownloadURL = "https://dl.google.com/chrome/install/latest/chrome_installer.exe",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$File_Name = "$File_Name_Prefix-$Online_Version.$File_Name_Extension" $File_Name = "$File_Name_Prefix-$Online_Version.$File_Name_Extension"
) )
#Region Script Start #Region Script Start
If ((Test-Path "C:\Temp\Script Cache") -eq $False) { New-Item -ItemType directory -Path "C:\Temp\Script Cache" } If ((Test-Path "C:\Temp\Script Cache") -eq $False) { New-Item -ItemType directory -Path "C:\Temp\Script Cache" }
Invoke-WebRequest -UseBasicParsing "https://scripts.gabesville.com/Gabesville/Powershell-Scripts/raw/branch/main/Functions%20Scripts/Functions.ps1" -outfile "C:\Temp\Script Cache\Functions.ps1" Invoke-WebRequest -UseBasicParsing "https://scripts.gabesville.com/Gabesville/Powershell-Scripts/raw/branch/main/Functions%20Scripts/Functions.ps1" -outfile "C:\Temp\Script Cache\Functions.ps1"
. "C:\Temp\Script Cache\Functions.ps1" . "C:\Temp\Script Cache\Functions.ps1"
#Check to see if program is installed #Check to see if program is installed
$Applist = Get-Software | Sort-Object -Descending $Applist = Get-Software | Sort-Object -Descending
If ($Applist.DisplayName -like "*$App_Name*") { If ($Applist.DisplayName -like "*$App_Name*") {
#Get currently installed version #Get currently installed version
$Local_Version = Get-Software | Where-Object { $_.DisplayName -like "*$App_Name*" } | Select-Object -ExpandProperty DisplayVersion $Local_Version = Get-Software | Where-Object { $_.DisplayName -like "*$App_Name*" } | Select-Object -ExpandProperty DisplayVersion
#Comparing version already installed to what is online #Comparing version already installed to what is online
If ($Local_Version -lt $Online_Version) { If ($Local_Version -lt $Online_Version) {
Test-Probe_Online Test-Probe_Online
Close-App Close-App
Install-App Install-App
} }
Else { Write-Host "$App_Name already on latest version (Installed version: $Local_Version)" } Else { Write-Host "$App_Name already on latest version (Installed version: $Local_Version)" }
} }
Else { Else {
Test-Probe_Online Test-Probe_Online
Install-App Install-App
} }
#REgion Script End #Region Script End