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