Public/Application/Get-ApplicationNotable.ps1

<#
Copyright © 2024 Integris. For internal company use only. All rights reserved.
#>


FUNCTION Get-ApplicationNotable {
    
    [CmdletBinding()]
    PARAM ( )

    $Results = @()

    $NotableApps = @("ThreatLockerService",
                    "Sentinel Agent",
                    "*McAfee*",
                    "Adlumin",
                    "Webroot SecureAnywhere",
                    "Cisco Secure Client - Umbrella",
                    "Umbrella Roaming Client*",
                    "Duo Authentication for Windows Logon*",
                    "MalwareBytes*",
                    "*ESET*",
                    "HP Wolf Security",
                    "Huntress Agent")

    FOREACH ($App in $NotableApps) {
        $AppResults = (Get-ApplicationInstalled -Name $App -ExactMatch)
        
        FOREACH ($AppResult in $AppResults) { $Results += $AppResult; Continue }
        
        $ServiceResult = (Get-CIMInstance Win32_Service -ErrorAction SilentlyContinue | Where-Object { $_.Name -eq $App })
        IF ($ServiceResult) { 
            $Info = Get-Item $ServiceResult.PathName.Replace("""","")

            $Results += New-Object PSObject -WarningAction SilentlyContinue -Property @{
                PSTypeName = 'IntegrisPowerShell.ApplicationInstalled'
                Name = $ServiceResult.DisplayName
                Publisher =  $ServiceResult.VersionInfo.CompanyName
                Version = $ServiceResult.VersionInfo.ProductVersion
                InstallDate = $null
                UninstallCommand = $null
            }
        }
    }


    RETURN $Results
}