Skip to content

Instantly share code, notes, and snippets.

@xtrasimplicity
Last active April 19, 2024 00:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xtrasimplicity/88b9e4b8269ede9cce42b2224ba172f0 to your computer and use it in GitHub Desktop.
Save xtrasimplicity/88b9e4b8269ede9cce42b2224ba172f0 to your computer and use it in GitHub Desktop.
Action1 - Apps that are not updateable by Action1 (Data Source)
$action1supportedApps = @("1Password",
"7-Zip",
"Adobe Acrobat Reader DC",
"Adobe Acrobat Reader DC MUI",
"Adobe AIR",
"Adobe Animate 2023",
"Adobe Animate 2024",
"Adobe Audition 2023",
"Adobe Audition 2024",
"Adobe Bridge 2023",
"Adobe Bridge 2024",
"Adobe Character Animator 2023",
"Adobe Character Animator 2024",
"Adobe Creative Cloud",
"Adobe Dreamweaver 2021",
"Adobe Flash for Firefox (NPAPI) (Uninstall only)",
"Adobe Illustrator 2023",
"Adobe Illustrator 2024",
"Adobe InDesign 2019 (32-bit)",
"Adobe InDesign 2023",
"Adobe InDesign 2024",
"Adobe Lightroom",
"Adobe Lightroom Classic",
"Adobe Media Encoder 2023",
"Adobe Media Encoder 2024",
"Adobe Photoshop 2023",
"Adobe Photoshop 2024",
"Adobe Premiere Pro 2023",
"Adobe Premiere Pro 2024",
"Adobe Premiere Rush",
"Audacity",
"Avast Antivirus",
"Bitwarden",
"CCleaner",
"Certify The Web",
"Cisco AnyConnect Secure Mobility Client (Uninstall Only)",
"Cisco Jabber",
"Cisco Webex Meetings",
"Citrix Receiver",
"Citrix Workspace",
"Company Portal",
"CrystalDiskInfo",
"Cyberduck",
"DBeaver Community",
"Dell Command | Update for Windows Universal",
"Dell SupportAssist for Home PCs",
"DisplayLink Graphics",
"Dropbox",
"ESET Endpoint Antivirus",
"ESET Endpoint Security",
"ESET Server Security",
"Far Manager",
"FileZilla Client",
"FortiClient VPN",
"Foxit PDF Reader",
"Front Desktop",
"GIMP",
"Git",
"Google Chrome",
"Google Drive",
"Google Earth Pro",
"Greenshot",
"HandBrake",
"Imageglass",
"InTune Company Portal",
"IrfanView",
"Jabra Direct",
"Java (32-bit)",
"Java (64-bit)",
"KeePass",
"Lenovo System Update",
"LibreOffice LTS",
"Malwarebytes",
"Microsoft Edge",
"Microsoft ODBC Driver 13 for SQL Server",
"Microsoft ODBC Driver 17 for SQL Server",
"Microsoft ODBC Driver 18 for SQL Server",
"Microsoft OLE DB Driver 18 for SQL Server (EN)",
"Microsoft OLE DB Driver 19 for SQL Server (EN)",
"Microsoft OneDrive",
"Microsoft Power BI Desktop",
"Microsoft Teams (Machine-Wide)",
"Microsoft Visual C++ 2015-2022 Redistributable",
"Microsoft Visual Studio Code",
"Microsoft Windows Desktop Runtime 6",
"Microsoft Windows Desktop Runtime 7",
"Microsoft Windows Desktop Runtime 8",
"Mozilla Firefox (ar)",
"Mozilla Firefox (de)",
"Mozilla Firefox (en-CA)",
"Mozilla Firefox (en-GB)",
"Mozilla Firefox (en-US)",
"Mozilla Firefox (fr)",
"Mozilla Firefox ESR (ar)",
"Mozilla Firefox ESR (de)",
"Mozilla Firefox ESR (en-CA)",
"Mozilla Firefox ESR (en-GB)",
"Mozilla Firefox ESR (en-US)",
"Mozilla Firefox ESR (fr)",
"Mozilla Thunderbird (ar)",
"Mozilla Thunderbird (de)",
"Mozilla Thunderbird (en-CA)",
"Mozilla Thunderbird (en-GB)",
"Mozilla Thunderbird (en-US)",
"Mozilla Thunderbird (fr)",
"MySQL Workbench CE",
"Node.js LTS",
"Notepad++",
"OBS Studio",
"OpenVPN",
"Opera",
"Paint.NET",
"PDFCreator Free",
"PeaZip",
"pgAdmin 4",
"PuTTY",
"Security Update for CVE-2023-23397 Vulnerability",
"ShareX",
"Skype",
"Slack",
"Splashtop Streamer",
"SQL Server Management Studio 16 (EN)",
"SQL Server Management Studio 17 (EN)",
"SQL Server Management Studio 18 (EN)",
"SQL Server Management Studio 19 (EN)",
"SQL Server Management Studio 20 (EN)",
"TeamViewer",
"TeamViewer Host",
"TightVNC",
"VLC Media Player",
"VMware Horizon Client",
"VMware Tools",
"Windows 10 Feature Update",
"Windows 10 Feature Update to Windows 11",
"Windows 11 Feature Update",
"WinMerge",
"WinRAR",
"WinSCP",
"WinZip",
"Wireshark",
"XnView MP",
"Zoom")
function Get-Installed-Apps-From-Registry-Key($regKey) {
$appsWithVersion = (Get-ChildItem $regKey | Where { $_.GetValue('DisplayName') -ne $null } | % { New-Object -TypeName psobject -Property $([ordered]@{name=($_.GetValue('DisplayName'));version=($_.GetValue('DisplayVersion'));installLocation=($_.GetValue('InstallLocation'))})})
$apps = New-Object System.Collections.ArrayList
foreach($app in $appsWithVersion) {
# Remove the version number from the app name, if present
if ($app.version -ne $null) {
$app.name = $app.name.Replace("$($app.version)", "").TrimEnd()
}
$apps.Add($app) | Out-Null;
}
$apps
}
$installedApps = Get-Unique -InputObject ((Get-Installed-Apps-From-Registry-Key "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall") + (Get-Installed-Apps-From-Registry-Key "HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall"))
$nonUpdateableApps = $installedApps | where {$action1supportedApps -inotcontains $_.name}
$results = New-Object System.Collections.ArrayList
$iterator = 0
foreach($app in $nonUpdateableApps) {
$result = New-Object -TypeName psobject -Property $([ordered]@{App=$app.name;Version=$app.version;InstallLocation=$app.installLocation;A1_Key=([string]$iterator + ":" + [string]($app -replace '','_'))})
$results.Add($result) | Out-Null
$iterator = $iterator + 1
}
$results
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment