Set-PackageUpdateSetting

For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /docs/commands/set-packageupdatesetting/index.md.

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