Private/Output/Update/GetUpdateAvailable.ps1
function Get-UpdateAvailable { [CmdletBinding()] param() # Get installed version $installedVersion = $null $module = Get-InstalledModule -Name PowerTree -ErrorAction SilentlyContinue if ($module) { $installedVersion = $module.Version } else { Write-Error "Error getting installed version of PowerTree" return $null } # Get latest version from gallery try { $galleryModule = Find-Module -Name PowerTree -ErrorAction Stop if ($galleryModule) { $galleryVersion = $galleryModule.Version } else { Write-Error "Error getting latest version of PowerTree" return $null } } catch { Write-Error "Error connecting to PowerShell Gallery: $_" return $null } # Compare versions and return results $updateAvailable = [System.Version]$galleryVersion -gt [System.Version]$installedVersion return @{ UpdateAvailable = $updateAvailable InstalledVersion = $installedVersion LatestVersion = $galleryVersion } } |