functions/Get-ChocoOutdatedPackages.ps1
<#
.SYNOPSIS Find outdated packages from a local machine .DESCRIPTION Wrapper around choco outdated -r. Ignores pinned and unfound packages from sources .EXAMPLE PS C:\> Get-ChocoOutdatedPackages Name CurrentVersion Version Pinned ---- -------------- ------- ------ chocolatey.extension 2.0.1 2.0.2 false curl 7.64.0 7.64.1 false GoogleChrome 73.0.3683.103 74.0.3729.131 false #> function Get-ChocoOutdatedPackages { [CmdletBinding()] param( ) Write-Verbose "Getting local outdated packages" $OutdatedPackages = (choco outdated -r --ignore-pinned --ignore-unfound --timeout=60) if ($LASTEXITCODE -eq 1){ Write-Verbose -Message 'Error getting outdated packages' $OutdatedPackages Exit } #If no updated packages are available then exit if ($LASTEXITCODE -eq 0){ Write-Verbose -Message 'No new packages available. Exiting' Exit } else { # $NewPackages = foreach ($NewPackage in $OutdatedPackages){ [PSCustomObject]@{ Name = $NewPackage.Split('|')[0] CurrentVersion = $NewPackage.Split('|')[1] Version = $NewPackage.Split('|')[2] Pinned = $NewPackage.Split('|')[3] } } } } |