Update App Install or Upgrade Scripts/App - Dell SupportAssist OS Recovery Plugin for Dell Update - Install or Upgrade.ps1

This commit is contained in:
2025-08-07 18:06:09 +00:00
parent def7ad86fb
commit 0d9ba814c0
@@ -1,65 +1,65 @@
<# <#
Author: Gabe Kerntke Author: Gabe Kerntke
Company: UFS LLC Company: UFS LLC
Date: 06-13-2025 Date: 06-13-2025
.Synopsis .Synopsis
Script to install Dell SupportAssist OS Recovery Plugin for Dell Update on machines that do not already have it Script to install Dell SupportAssist OS Recovery Plugin for Dell Update on machines that do not already have it
.Modified .Modified
2025-06-13 (GabeK) - Original script created 2025-06-13 (GabeK) - Original script created
#> #>
[CmdletBinding()] [CmdletBinding()]
Param( Param(
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$Manufacturer = (Get-CimInstance Win32_ComputerSystem).Manufacturer, $Manufacturer = (Get-CimInstance Win32_ComputerSystem).Manufacturer,
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$App_Name = "Dell SupportAssist OS Recovery Plugin for Dell Update", $App_Name = "Dell SupportAssist OS Recovery Plugin for Dell Update",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$File_Name_Prefix = "SupportAssist OS Recovery Plugin", $File_Name_Prefix = "SupportAssist OS Recovery Plugin",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$File_Name_Extension = "exe", $File_Name_Extension = "exe",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$Install_Parameters = "/S", $Install_Parameters = "/S",
[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)]
$Online_Version = "5.5.13.2", $Online_Version = "5.5.13.2",
[Parameter(Mandatory = $false)] [Parameter(Mandatory = $false)]
$DownloadURL = "https://downloads.dell.com/FOLDER13005623M/1/Dell-SupportAssist-OS-Recovery-Plugin-for-Dell-Update_5YX0J_WIN64_5.5.13.2_A00.EXE", $DownloadURL = "https://downloads.dell.com/FOLDER13005623M/1/Dell-SupportAssist-OS-Recovery-Plugin-for-Dell-Update_5YX0J_WIN64_5.5.13.2_A00.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
#Check if device is a dell #Check if device is a dell
If ($Manufacturer -eq "Dell Inc.") { If ($Manufacturer -eq "Dell Inc.") {
If ($Applist.DisplayName -eq $App_Name) { If ($Applist.DisplayName -eq $App_Name) {
#Get currently installed version #Get currently installed version
$Local_Version = Get-Software | Where-Object { $_.DisplayName -eq $App_Name } | Select-Object -ExpandProperty DisplayVersion $Local_Version = Get-Software | Where-Object { $_.DisplayName -eq $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 ([version]$Local_Version -lt [version]$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
} }
} }
Else { Write-Host "Device is not a Dell: $Manufacturer" } Else { Write-Host "Device is not a Dell: $Manufacturer" }
#Region Script End #Region Script End