This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Module commands reference

Within here, you can find a reference for all commands in the module. This reference is designed to help you quickly find the command you need and understand how to use it effectively.

By clicking on a command, you will be taken to a detailed page that provides comprehensive information about the command, including its syntax, parameters, examples, and any additional notes or tips for usage.

1 - Add-PackageUpdateRule

SYNOPSIS

Adds a custom rule that controls how module updates are reported.

SYNTAX

__AllParameterSets

Add-PackageUpdateRule [[-Id] <int>] [[-IncludeModuleForChecking] <string[]>]
 [[-ExcludeModuleFromChecking] <string[]>] [[-ReportChangeOnMajor] <bool>]
 [[-ReportChangeOnMinor] <bool>] [[-ReportChangeOnBuild] <bool>] [[-ReportChangeOnRevision] <bool>]
 [[-SettingObject] <Configuration>] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

This command creates a custom update rule for the current PackageUpdateInfo configuration. Each rule defines when an update should be considered relevant for reporting based on changes in the major, minor, build, or revision portion of a module version. Rules can also scope reporting to specific modules by including or excluding module names, which makes it possible to suppress noisy revision-only updates or focus checks on selected modules. If no settings object is provided, the command uses the current module configuration and stores the new rule there.

EXAMPLES

EXAMPLE 1

PS C:\> Add-PackageUpdateRule -IncludeModuleForChecking "MyModule" -ReportChangeOnMajor $true -ReportChangeOnMinor $true -ReportChangeOnBuild $true -ReportChangeOnRevision $false

Adds a rule that reports major, minor, and build updates for MyModule while suppressing revision-only changes.

EXAMPLE 2

PS C:\> Add-PackageUpdateRule -ExcludeModuleFromChecking "PowerShellGet","PSScriptAnalyzer" -ReportChangeOnRevision $false

Adds a rule that excludes two modules from update checking and suppresses revision updates for the remaining modules.

EXAMPLE 3

PS C:\> Add-PackageUpdateRule -Id 99 -IncludeModuleForChecking "MyModule" -PassThru

Adds a rule with a specific identifier and returns the created rule object.

EXAMPLE 4

PS C:\> $settings = Get-PackageUpdateSetting; Add-PackageUpdateRule -SettingObject $settings -ExcludeModuleFromChecking "MyModule"

Adds a rule to an existing settings object without using the default module configuration.

PARAMETERS

-Confirm

Prompts for confirmation before saving the new rule.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- cf
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ExcludeModuleFromChecking

One or more module names that should be excluded from update checking by this rule.

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Exclude
- ExcludeModule
ParameterSets:
- Name: (All)
  Position: 2
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Id

The unique identifier for the rule.

Type: Int32
DefaultValue: 0
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 0
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-IncludeModuleForChecking

One or more module names that should be included in update checking by this rule. If omitted, the rule applies to all modules.

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Include
- IncludeModule
ParameterSets:
- Name: (All)
  Position: 1
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-PassThru

Returns the created rule object from the pipeline.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnBuild

Indicates whether a change in the build version part should trigger an update report.

This means ‘Get-PackageUpdateSetting’ will report an update only when the build version of a module changes. Major Minor Build Revision


0 0 1 0

Type: Boolean
DefaultValue: True
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 5
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnMajor

Indicates whether a change in the major version part should trigger an update report.

This means ‘Get-PackageUpdateSetting’ will report an update only when the major version of a module changes.

Major Minor Build Revision


1 0 0 0

Type: Boolean
DefaultValue: True
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 3
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnMinor

Indicates whether a change in the minor version part should trigger an update report.

This means ‘Get-PackageUpdateSetting’ will report an update only when the minor version of a module changes.

Major Minor Build Revision


0 1 0 0

Type: Boolean
DefaultValue: True
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 4
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnRevision

Indicates whether a change in the revision version part should trigger an update report.

This means ‘Get-PackageUpdateSetting’ report update need, when the revision version of a module change.

Major Minor Build Revision


1 0 0 0

Type: Boolean
DefaultValue: True
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 6
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-SettingObject

A settings object from Get-PackageUpdateSetting that should receive the new rule. If omitted, the current module settings are used.

Type: Configuration
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 7
  IsRequired: false
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-WhatIf

Displays what would happen if the command were to run without changing any configuration.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- wi
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

PackageUpdate.Configuration

OUTPUTS

PackageUpdate.ModuleRule

NOTES

Version : 1.1.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module, Rule

2 - Export-PackageUpdateInfo

SYNOPSIS

Exports PackageUpdateInfo objects to an XML, JSON, or CSV file.

SYNTAX

__AllParameterSets

Export-PackageUpdateInfo [[-Path] <string>] -InputObject <Info[]> [-OutputFormat <string>]
 [-Encoding <string>] [-Force] [-Append] [-IncludeTimeStamp] [-PassThru] [-WhatIf] [-Confirm]
 [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

Writes PackageUpdateInfo objects produced by Get-PackageUpdateInfo to a structured data file for persistence, reporting, or later automation. The cmdlet supports XML, JSON, and CSV output formats, optional timestamping, and append mode for extending an existing file. It also supports creating the target directory when needed and can pass the exported objects back through the pipeline.

EXAMPLES

EXAMPLE 1

PS C:\> Get-PackageUpdateInfo | Export-PackageUpdateInfo

Exports the current PackageUpdateInfo objects to the default XML file.

EXAMPLE 2

PS C:\> Get-PackageUpdateInfo | Export-PackageUpdateInfo -OutputFormat JSON -Path .\updates.json -IncludeTimeStamp -PassThru

Exports the data as JSON, includes a timestamp for each record, and passes the objects through the pipeline.

EXAMPLE 3

PS C:\> Get-PackageUpdateInfo | Export-PackageUpdateInfo -OutputFormat CSV -Path .\updates.csv -Append -Force

Appends the exported data to a CSV file and creates the target directory if it does not exist.

EXAMPLE 4

PS C:\> Get-PackageUpdateInfo | Export-PackageUpdateInfo -Path C:\Temp\PackageUpdateInfo.xml -Encoding utf8

Exports the current data to a custom XML file using UTF-8 encoding.

PARAMETERS

-Append

Adds exported information to an existing file instead of replacing its current contents. This is supported for JSON and CSV output and is ignored for XML output.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Confirm

If this switch is enabled, you will be prompted for confirmation before executing any operation that changes state.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- cf
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Encoding

The file encoding to use when creating or updating the export file.

Type: String
DefaultValue: default
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Force

Creates the parent directory for the target file when it does not already exist and the specified path is outside the default location.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-IncludeTimeStamp

Adds a TimeStamp property to each exported record so that the export captures the time of export for each entry.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputObject

One or more PackageUpdateInfo objects to export. This parameter accepts pipeline input from Get-PackageUpdateInfo and similar commands.

Type: Info[]
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-OutputFormat

The output format used for the export. Supported values are “XML”, “JSON”, and “CSV”.

Type: String
DefaultValue: XML
SupportsWildcards: false
Aliases:
- Format
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-PassThru

Sends the exported objects to the pipeline after writing them to disk.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Path

The destination file path for the exported data. Specify a file path rather than a directory path.

Default path value is: Linux: “$HOME/.config/powershell/PackageUpdateInfo/PackageUpdateInfo_$($PSEdition)$($PSVersionTable.PSVersion.Major).xml”) Windows: “$HOME\AppData\Local\Microsoft\Windows\PowerShell\PackageUpdateInfo$($PSEdition)_$($PSVersionTable.PSVersion.Major).xml”

Type: String
DefaultValue: ''
SupportsWildcards: false
Aliases:
- FullName
- FilePath
ParameterSets:
- Name: (All)
  Position: 0
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-WhatIf

If this switch is enabled, no actions are performed, but informational messages are displayed that explain what would happen if the command were to run.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- wi
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

PackageUpdate.Info[]

OUTPUTS

PackageUpdate.Info

NOTES

Version : 1.1.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module, Export

3 - Get-PackageUpdateInfo

SYNOPSIS

Retrieve update information for installed PowerShell modules and identify modules that have newer versions available online.

SYNTAX

DefaultSet1 (Default)

Get-PackageUpdateInfo [-Name <string[]>] [-Repository <string[]>] [-ShowOnlyNeededUpdate]
 [-ShowToastNotification] [-Force] [<CommonParameters>]

CurrentUser

Get-PackageUpdateInfo [-Name <string[]>] [-Repository <string[]>] [-ShowOnlyNeededUpdate]
 [-ShowToastNotification] [-CurrentUser] [-Force] [<CommonParameters>]

AllUsers

Get-PackageUpdateInfo [-Name <string[]>] [-Repository <string[]>] [-ShowOnlyNeededUpdate]
 [-ShowToastNotification] [-AllUsers] [-Force] [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

Get-PackageUpdateInfo inspects locally installed PowerShell modules, compares their installed versions with the versions available in one or more configured repositories, and returns detailed update information.

The command can filter the results to modules that need updates, restrict the search to current-user or all-users module paths, and optionally display Windows toast notifications when updates are available.

It also honors the module’s update-check rules and the configured update-check interval unless you explicitly force a fresh check.

The checking is done via PowerShellGet v2 or v3, depending on the availability of the Microsoft.PowerShell.PSResourceGet module in the system.

EXAMPLES

EXAMPLE 1

PS C:\> Get-PackageUpdateInfo

Retrieves update information for all modules that are discovered from the configured include rules and available repositories. The output shows the installed version, the latest online version, and whether an update is needed. Output can look like:

Name Repository VersionInstalled VersionOnline NeedUpdate Path


PSReadline PSGallery 1.2 1.2 False C:\Program Files\WindowsPowerShell\Modules\PSReadline Pester PSGallery 4.4.0 4.4.2 True C:\Program Files\WindowsPowerShell\Modules\Pester

EXAMPLE 2

PS C:\> Get-PackageUpdateInfo -ShowOnlyNeededUpdate

Returns only those modules where a newer version is available online, making it easier to focus on modules that actually need attention. This will filter output to show only modules where NeedUpdate is True Output can look like:

Name Repository VersionInstalled VersionOnline NeedUpdate Path


Pester PSGallery 4.4.0 4.4.2 True C:\Program Files\WindowsPowerShell\Modules\Pester

EXAMPLE 3

PS C:\> "Pester", "PSReadline" | Get-PackageUpdateInfo

Accepts module names from the pipeline and returns update information for each requested module. This also works with objects that expose a Name property, such as modules returned by Get-Module.

EXAMPLE 4

PS C:\> Get-PackageUpdateInfo -CurrentUser -ShowOnlyNeededUpdate

Checks only modules installed in the current user profile and displays only those modules that have a newer version available online.

PARAMETERS

-AllUsers

Restricts the search to modules installed in shared all-users or system module locations.

Keep in mind, that admin rights are required to update those modules.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: AllUsers
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-CurrentUser

Restricts the search to modules installed in the current user profile location.

This is helpful if you’re running without admin rights, which you should always do as your default work preference.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: CurrentUser
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Force

Bypasses the configured update-check interval and performs a fresh comparison immediately.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Name

One or more module names to inspect. When this parameter is omitted, the function uses the configured include rules to determine which modules should be checked.

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Repository

One or more PowerShell repositories to query for available module versions. If omitted, the command uses the repositories available on the local system.

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ShowOnlyNeededUpdate

Suppresses modules that are already up to date from the output and returns only modules where an update is available.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ShowToastNotification

Displays Windows toast notifications for modules that have updates available when the system supports this feature.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases:
- ToastNotification
- Notify
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.String[]

OUTPUTS

PackageUpdate.Info

NOTES

Version : 1.2.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module

4 - Get-PackageUpdateRule

SYNOPSIS

Retrieve one or more package update rules used to control module update checks and reporting.

SYNTAX

ShowAll (Default)

Get-PackageUpdateRule [-IncludeModuleForChecking <string>] [-ExcludeModuleFromChecking <string>]
 [-IncludeDefaultRule] [-SettingObject <Configuration>] [<CommonParameters>]

ById

Get-PackageUpdateRule -Id <int[]> [-SettingObject <Configuration>] [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

Retrieves the custom rules that define how modules are handled during update checks and reporting. You can filter rules by identifier, by module inclusion or exclusion patterns, or include the default rule from the active settings object to compare custom behavior with the built-in fallback behavior.

EXAMPLES

EXAMPLE 1

PS C:\> Get-PackageUpdateRule

Retrieve all custom rules currently configured for package update handling.

EXAMPLE 2

PS C:\> Get-PackageUpdateRule -Id 1, 2

Retrieve the custom rules that have the specified identifiers.

EXAMPLE 3

PS C:\> Get-PackageUpdateRule -ExcludeModuleFromChecking 'Pester'

Retrieve the custom rules that exclude Pester from update checking.

EXAMPLE 4

PS C:\> Get-PackageUpdateRule -IncludeModuleForChecking 'PackageManagement' -IncludeDefaultRule

Retrieve the custom rules that include PackageManagement for update checking and also return the default rule.

PARAMETERS

-ExcludeModuleFromChecking

Filters the returned rules to those that exclude the specified module name from update checking.

Type: String
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Exclude
- ExcludeModule
ParameterSets:
- Name: ShowAll
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Id

Specifies one or more rule identifiers to retrieve.

Type: Int32[]
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: ById
  Position: Named
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-IncludeDefaultRule

Adds the default rule from the supplied or active settings object to the output in addition to any custom rules.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: ShowAll
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-IncludeModuleForChecking

Filters the returned rules to those that include the specified module name for update checking. By default, all modules are included when no filter is supplied.

Default value is: “*”

Type: String
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Include
- IncludeModule
ParameterSets:
- Name: ShowAll
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-SettingObject

Specifies a settings object returned by Get-PackageUpdateSetting. If this parameter is omitted, the command uses the current module settings object.

Type: Configuration
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.Int32[]

PackageUpdate.Configuration

OUTPUTS

PackageUpdate.ModuleRule

NOTES

Version : 1.1.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module, Rule

5 - Get-PackageUpdateSetting

SYNOPSIS

Retrieves the PackageUpdateInfo configuration from the module settings file.

SYNTAX

__AllParameterSets

Get-PackageUpdateSetting [[-Path] <string>] [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

Reads the PackageUpdateInfo configuration file and returns the current module behavior settings as a PackageUpdate.Configuration object. The returned object includes the default and custom update rules, the update check interval, and the timestamps of the last and last successful checks.

EXAMPLES

EXAMPLE 1

PS C:\> Get-PackageUpdateSetting

Retrieves the current PackageUpdateInfo settings from the default configuration file.

EXAMPLE 2

PS C:\> Get-PackageUpdateSetting -Path "C:\temp\PackageUpdateInfo.json"

Reads the PackageUpdateInfo configuration from a specific settings file.

EXAMPLE 3

PS C:\> Get-PackageUpdateSetting | Select-Object -ExpandProperty UpdateCheckInterval

Returns the configured update check interval from the current settings.

PARAMETERS

-Path

The full path to the settings file to read.

This parameter is optional. If it is omitted, the function uses the default module settings path: Linux: “$HOME/.config/powershell/PackageUpdateInfo/PackageUpdateInfo_$($PSEdition)$($PSVersionTable.PSVersion.Major).json” Windows: “$HOME\AppData\Local\Microsoft\Windows\PowerShell\PackageUpdateInfo$($PSEdition)_$($PSVersionTable.PSVersion.Major).json”

Type: String
DefaultValue: $script:ModuleSettingPath
SupportsWildcards: false
Aliases:
- FullName
- FilePath
ParameterSets:
- Name: (All)
  Position: 0
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

OUTPUTS

PackageUpdate.Configuration

NOTES

Version : 1.1.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module, Setting

6 - Import-PackageUpdateInfo

SYNOPSIS

Imports package update information from a previously exported data file.

SYNTAX

__AllParameterSets

Import-PackageUpdateInfo [[-Path] <string>] [-ShowToastNotification] [-InputFormat <string>]
 [-Encoding <string>] [-WhatIf] [-Confirm] [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

Imports package update information from a data file that was previously exported by Export-PackageUpdateInfo. The command reads records from XML, JSON, or CSV files and converts them into PackageUpdateInfo objects for further use, display, or processing. When requested, it can also show Windows toast notifications for modules that require an update.

EXAMPLES

EXAMPLE 1

PS C:\> Import-PackageUpdateInfo

Imports the default package update information file for the current PowerShell environment.

EXAMPLE 2

PS C:\> Import-PackageUpdateInfo -Path C:\temp\packageupdateinfo.xml

Imports update information from a specific XML file.

EXAMPLE 3

PS C:\> Import-PackageUpdateInfo -Path .\updates.json -InputFormat JSON

Imports update information from a JSON file that uses the specified input format.

EXAMPLE 4

PS C:\> Import-PackageUpdateInfo -Path .\updates.csv -InputFormat CSV -ShowToastNotification

Imports update information from a CSV file and displays toast notifications for modules that need updates.

PARAMETERS

-Confirm

If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- cf
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Encoding

Specifies the file encoding used when reading the input file.

Type: String
DefaultValue: default
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputFormat

Specifies the format of the imported data file. Supported values are “XML”, “JSON”, and “CSV”.

Type: String
DefaultValue: XML
SupportsWildcards: false
Aliases:
- Format
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Path

The file path to the data file to import. Specify a valid file path. If omitted, the command uses the default module data file for the current PowerShell edition and version.

Default paths are: Linux: “$HOME/.config/powershell/PackageUpdateInfo/PackageUpdateInfo_$($PSEdition)$($PSVersionTable.PSVersion.Major).xml” Windows: “$HOME\AppData\Local\Microsoft\Windows\PowerShell\PackageUpdateInfo$($PSEdition)_$($PSVersionTable.PSVersion.Major).xml”

Type: String
DefaultValue: ''
SupportsWildcards: false
Aliases:
- FullName
- FilePath
ParameterSets:
- Name: (All)
  Position: 0
  IsRequired: false
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ShowToastNotification

Displays Windows toast notifications with release-note information for modules that require an update.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases:
- ToastNotification
- Notify
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-WhatIf

If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- wi
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.String

OUTPUTS

PackageUpdate.Info

NOTES

Version : 1.1.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module, Info

7 - Remove-PackageUpdateRule

SYNOPSIS

Removes one or more custom update-handling rules from the package update configuration.

SYNTAX

ById (Default)

Remove-PackageUpdateRule -Id <int[]> [-Force] [-PassThru] [-SettingObject <Configuration>] [-WhatIf]
 [-Confirm] [<CommonParameters>]

ByInputObject

Remove-PackageUpdateRule -InputObject <ModuleRule[]> [-Force] [-PassThru]
 [-SettingObject <Configuration>] [-WhatIf] [-Confirm] [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

Removes existing custom rules that define how specific PowerShell modules should be handled during update checks and reporting. The command can remove rules by rule Id, by piping in rule objects from Get-PackageUpdateRule, or by updating a settings object that contains the rule collection.

When rules are removed, the updated configuration is written back to the settings file so the change persists. Use -PassThru to return the removed rule objects to the pipeline.

EXAMPLES

EXAMPLE 1

PS C:\> Get-PackageUpdateRule | Remove-PackageUpdateRule

Removes all custom update rules from the current module settings.

EXAMPLE 2

PS C:\> Remove-PackageUpdateRule -Id 12

Removes the custom rule with Id 12 from the current configuration.

EXAMPLE 3

$rules = Get-PackageUpdateRule -Name "Microsoft.PowerShell.Utility"
PS C:\> $rules | Remove-PackageUpdateRule -PassThru

Removes the matching rules and returns the removed rule objects to the pipeline.

EXAMPLE 4

$settings = Get-PackageUpdateSetting
PS C:\> Remove-PackageUpdateRule -Id 3 -SettingObject $settings -Force

Removes a specific rule without prompting and writes the updated settings back to disk.

PARAMETERS

-Confirm

If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- cf
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Force

Suppresses the confirmation prompt and removes the rule immediately.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Id

The Id of the rule to remove. Accepts one or more rule identifiers.

Type: Int32[]
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: ById
  Position: Named
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputObject

One or more rule objects to remove. These are typically returned by Get-PackageUpdateRule.

Type: ModuleRule[]
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: ByInputObject
  Position: Named
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-PassThru

Returns the removed rule object(s) to the pipeline for further processing.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-SettingObject

The configuration object that contains the rule collection. If this parameter is not supplied, the command uses the current module settings from Get-PackageUpdateSetting.

Type: Configuration
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-WhatIf

If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- wi
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.Int32[]

PackageUpdate.ModuleRule[]

PackageUpdate.Configuration

OUTPUTS

PackageUpdate.ModuleRule

NOTES

Version : 1.1.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module, Rule

8 - Set-PackageUpdateRule

SYNOPSIS

Updates an existing PackageUpdateInfo rule that controls how module version changes are reported.

SYNTAX

ById (Default)

Set-PackageUpdateRule -Id <int> [-IncludeModuleForChecking <string[]>]
 [-ExcludeModuleFromChecking <string[]>] [-ReportChangeOnMajor <bool>] [-ReportChangeOnMinor <bool>]
 [-ReportChangeOnBuild <bool>] [-ReportChangeOnRevision <bool>] [-SettingObject <Configuration>]
 [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]

ByInputObject

Set-PackageUpdateRule -InputObject <ModuleRule[]> [-IncludeModuleForChecking <string[]>]
 [-ExcludeModuleFromChecking <string[]>] [-ReportChangeOnMajor <bool>] [-ReportChangeOnMinor <bool>]
 [-ReportChangeOnBuild <bool>] [-ReportChangeOnRevision <bool>] [-SettingObject <Configuration>]
 [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

This cmdlet modifies an existing update rule stored in the PackageUpdateInfo configuration so that update checks can be narrowed or expanded for specific modules. You can use it to include or exclude modules from update detection, control which version parts trigger an update report, and persist those rule changes back to the active settings file. The command works with a rule identified by Id or with a rule object supplied through InputObject, and it can return the updated rule when -PassThru is specified.

EXAMPLES

EXAMPLE 1

PS C:\> Set-PackageUpdateRule -Id 3 -IncludeModuleForChecking 'MyModule' -ReportChangeOnMajor $true -ReportChangeOnMinor $true -ReportChangeOnBuild $true -ReportChangeOnRevision $false -PassThru

Updates rule 3 so that MyModule is evaluated explicitly and only major, minor, and build changes are reported as update needs.

EXAMPLE 2

PS C:\> Get-PackageUpdateRule -Id 7 | Set-PackageUpdateRule -ExcludeModuleFromChecking 'AzureTools' -ReportChangeOnRevision $false

Takes the rule with Id 7 from the pipeline and suppresses revision-based update reporting for AzureTools while keeping the rule stored in the current settings.

EXAMPLE 3

$rule = Get-PackageUpdateRule -Id 12
PS C:\> Set-PackageUpdateRule -InputObject $rule -IncludeModuleForChecking 'PowershellGet','PSReadLine' -ReportChangeOnMinor $false -ReportChangeOnBuild $false

Loads an existing rule object, expands the included modules, and updates the rule so that only major and revision changes are treated as actionable updates.

EXAMPLE 4

PS C:\> Set-PackageUpdateRule -Id 5 -ReportChangeOnMajor $false -ReportChangeOnMinor $false -ReportChangeOnBuild $false -ReportChangeOnRevision $true -WhatIf

Shows the effect of changing rule 5 to report only revision-based updates without actually writing the change to disk.

PARAMETERS

-Confirm

Prompts for confirmation before the cmdlet writes changed rule data back to the settings file.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- cf
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ExcludeModuleFromChecking

One or more module names that should be excluded from update checks for the rule being changed.

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Exclude
- ExcludeModule
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Id

The numeric identifier of the rule to modify.

Type: Int32
DefaultValue: 0
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: ById
  Position: Named
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-IncludeModuleForChecking

One or more module names that should be included in update checks for the rule being changed. When omitted, the rule keeps the default behavior of evaluating all modules.

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Include
- IncludeModule
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputObject

The rule object to update. This is useful when you already have a rule from Get-PackageUpdateRule and want to change it without referring to its Id.

Type: ModuleRule[]
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: ByInputObject
  Position: Named
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-PassThru

Returns the updated rule object to the pipeline after the change has been written to the settings file.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnBuild

Controls whether a change in the build version part causes the rule to report that an update is needed.

Report when build version changed for a module

This means ‘Get-PackageUpdateSetting’ report update need, only when the build version version of a module change.

Major Minor Build Revision


0 0 1 0

Type: Boolean
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnMajor

Controls whether a change in the major version part causes the rule to report that an update is needed.

Report when major version changed for a module

This means ‘Get-PackageUpdateSetting’ report update need, only when the major version version of a module change.

Major Minor Build Revision


1 0 0 0

Type: Boolean
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnMinor

Controls whether a change in the minor version part causes the rule to report that an update is needed.

Report when minor version changed for a module

This means ‘Get-PackageUpdateSetting’ report update need, only when the minor version version of a module change.

Major Minor Build Revision


0 1 0 0

Type: Boolean
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnRevision

Controls whether a change in the revision version part causes the rule to report that an update is needed.

Report when revision part changed for a module

This means ‘Get-PackageUpdateSetting’ report update need, only when the revision version version of a module change.

Major Minor Build Revision


0 0 0 1

Type: Boolean
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-SettingObject

The PackageUpdateInfo configuration object to update. When omitted, the cmdlet uses the current module settings from Get-PackageUpdateSetting.

Type: Configuration
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-WhatIf

Shows what would happen if the command were to run without applying any changes.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- wi
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.Int32

PackageUpdate.ModuleRule[]

PackageUpdate.Configuration

OUTPUTS

PackageUpdate.ModuleRule

NOTES

Version : 1.1.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module, Rule

9 - Set-PackageUpdateSetting

SYNOPSIS

Configures update-check behavior and reporting preferences for PackageUpdateInfo.

SYNTAX

SetBehaviour

Set-PackageUpdateSetting [-ExcludeModuleFromChecking <string[]>]
 [-IncludeModuleForChecking <string[]>] [-ReportChangeOnMajor <bool>] [-ReportChangeOnMinor <bool>]
 [-ReportChangeOnBuild <bool>] [-ReportChangeOnRevision <bool>] [-UpdateCheckInterval <timespan>]
 [-LastCheck <datetime>] [-LastSuccessfulCheck <datetime>] [-InputObject <Configuration>]
 [-Path <string>] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]

ResetBehaviour

Set-PackageUpdateSetting [-Reset] [-Path <string>] [-PassThru] [-WhatIf] [-Confirm]
 [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

Configures how PackageUpdateInfo evaluates installed PowerShell modules for available updates. Use this command to control which modules are included in or excluded from update checks, decide which version changes should trigger update notifications, define how often update checks are performed, and reset the stored settings to their defaults. The configuration is persisted to a JSON settings file and can be applied either directly or by passing an existing configuration object.

EXAMPLES

EXAMPLE 1

PS C:\> Set-PackageUpdateSetting -ExcludeModuleFromChecking "MyLocalOnlyModule"

Put the module “MyLocalOnlyModule” on the exclude list for update checking. By design, this should be considered only for modules not available in a online gallery. This capability is designed to avoid unnecessary update checks, for modules not existing in a online gallery.

You’ll not get any update information for module ‘MyLocalOnlyModule’ anymore!

If you have worries/issues on performance, due to a large number of modules installed, you better follow the practice to put the ‘checking mechansim’ in you PSProfile as a job routine every time you start a shell. Doing so is described in the ‘practical-usage’ on the github project page: https://github.com/AndiBellstedt/PackageUpdateInfo#practical-usage

EXAMPLE 2

PS C:\> Set-PackageUpdateSetting -ExcludeModuleFromChecking "Az.*"

Put all Az. modules on the exclude list for update checking. This should be considered as a bad practice, because you’ll not get any update information for all Az. modules anymore. (and they might change quite often)

If you have worries/issues on performance, due to a large number of modules installed, you better follow the practice to put the ‘checking mechansim’ in you PSProfile as a job routine every time you start a shell. Doing so is described in the ‘practical-usage’ on the github project page: https://github.com/AndiBellstedt/PackageUpdateInfo#practical-usage

EXAMPLE 3

PS C:\> Set-PackageUpdateSetting -IncludeModuleForChecking "*" -ReportChangeOnMajor $true -ReportChangeOnMinor $true -ReportChangeOnBuild $true -ReportChangeOnRevision $true -UpdateCheckInterval "01:00:00"

Restores the default update-check behavior and notification thresholds while keeping the configured update interval at one hour.

EXAMPLE 4

PS C:\> Set-PackageUpdateSetting -Reset

Resets the package update settings to the built-in defaults.

EXAMPLE 5

PS C:\> Get-PackageUpdateSetting | Set-PackageUpdateSetting -PassThru

Updates the current configuration object in memory and returns it to the pipeline for further processing.

PARAMETERS

-Confirm

Prompts for confirmation before executing any operation that changes state.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- cf
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ExcludeModuleFromChecking

The names of modules to exclude from update checking in the default rule.

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Exclude
- ExcludeModule
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-IncludeModuleForChecking

The names of modules to include in update checking in the default rule. By default, all modules are included.

Default value is: “*”

Type: String[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Include
- IncludeModule
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputObject

A configuration object returned by Get-PackageUpdateSetting that should be updated in place.

Type: Configuration
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-LastCheck

The timestamp when the last update-check cycle for modules started.

Type: DateTime
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-LastSuccessfulCheck

The timestamp when the last update-check cycle completed successfully.

Type: DateTime
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-PassThru

Returns the updated settings object to the pipeline for further processing.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Path

The full path to the settings file that should be read from or written to.

If this parameter is omitted, the command uses the module’s default settings path: Linux: “$HOME/.config/powershell/PackageUpdateInfo/PackageUpdateSetting_$($PSEdition)$($PSVersionTable.PSVersion.Major).json” Windows: “$HOME\AppData\Local\Microsoft\Windows\PowerShell\PackageUpdateSetting$($PSEdition)_$($PSVersionTable.PSVersion.Major).json”

Type: String
DefaultValue: ''
SupportsWildcards: false
Aliases:
- FullName
- FilePath
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnBuild

Indicates whether a change in the build version of a module should trigger an update notification in the default rule.

This means Get-PackageUpdateSetting reports an update need only when the build version number of a module changes.

Major Minor Build Revision


0 0 1 0

Type: Boolean
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnMajor

Indicates whether a change in the major version of a module should trigger an update notification in the default rule.

This means Get-PackageUpdateSetting reports an update need only when the major version number of a module changes.

Major Minor Build Revision


1 0 0 0

Type: Boolean
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnMinor

Indicates whether a change in the minor version of a module should trigger an update notification in the default rule.

This means Get-PackageUpdateSetting reports an update need only when the minor version number of a module changes.

Major Minor Build Revision


0 1 0 0

Type: Boolean
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ReportChangeOnRevision

Indicates whether a change in the revision part of a module version should trigger an update notification in the default rule.

This means Get-PackageUpdateSetting reports an update need only when the revision number of a module changes.

Major Minor Build Revision


1 0 0 0

Type: Boolean
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Reset

Resets the module configuration to its default behavior.

Type: SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: ResetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-UpdateCheckInterval

The minimum time span that must pass before a new module update check is performed.

Default value is: “01:00:00”

Type: TimeSpan
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: SetBehaviour
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-WhatIf

Shows what would happen if the command were to run without actually performing any changes.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- wi
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

PackageUpdate.Configuration

OUTPUTS

PackageUpdate.Configuration

NOTES

Version : 1.1.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module, Setting

10 - Show-PackageUpdateReleaseNote

SYNOPSIS

Displays release notes for one or more PowerShell modules.

SYNTAX

ByPackageUpdeInfoObject

Show-PackageUpdateReleaseNote [[-InputObject] <Info[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

ByModuleObject

Show-PackageUpdateReleaseNote [[-Module] <psmoduleinfo[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

ALIASES

This cmdlet has the following aliases,

DESCRIPTION

Retrieves and displays release notes for module information objects produced by Get-PackageUpdateInfo or Import-PackageUpdateInfo, or for module objects returned by Get-Module. When release notes are available as a URL, the cmdlet attempts to resolve and retrieve the content so that the notes can be presented directly to the caller.

EXAMPLES

EXAMPLE 1

PS C:\> Get-PackageUpdateInfo | Show-PackageUpdateReleaseNote

Retrieves release notes for each module returned by Get-PackageUpdateInfo.

EXAMPLE 2

PS C:\> Get-Module PackageUpdateInfo | Show-PackageUpdateReleaseNote

Retrieves release notes for the PackageUpdateInfo module from the current PowerShell session.

EXAMPLE 3

PS C:\> Get-PackageUpdateInfo -Name PackageUpdateInfo | Show-PackageUpdateReleaseNote

Displays the release notes for a specific module using the output from Get-PackageUpdateInfo.

EXAMPLE 4

PS C:\> Get-PackageUpdateInfo | Show-PackageUpdateReleaseNote -WhatIf

Shows which modules would be processed for release note retrieval without performing the operation.

PARAMETERS

-Confirm

If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- cf
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-InputObject

One or more PackageUpdateInfo objects from Get-PackageUpdateInfo or Import-PackageUpdateInfo that contain release note information.

Type: Info[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- Input
ParameterSets:
- Name: ByPackageUpdeInfoObject
  Position: 0
  IsRequired: false
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Module

One or more module objects from Get-Module that contain release notes metadata or a release notes URL.

Type: PSModuleInfo[]
DefaultValue: ''
SupportsWildcards: false
Aliases:
- ModuleName
ParameterSets:
- Name: ByModuleObject
  Position: 0
  IsRequired: false
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: true
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-WhatIf

If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.

Type: SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases:
- wi
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

PackageUpdate.Info[]

System.Management.Automation.PSModuleInfo[]

OUTPUTS

PackageUpdate.ReleaseNote

NOTES

Version : 1.1.0.0 Author : Andi Bellstedt Date : 2026-06-21 Keywords : PackageUpdateInfo, Update, Module, ReleaseNote