# Set-PackageUpdateSetting

LLMS index: [llms.txt](/llms.txt)

---

<!-- This file is auto-generated using PlatyPS + HUGO Workflow automation. Avoid editing directly! Original Front-Matter:
date: 2026-06-22
document type: cmdlet
external help file: PackageUpdateInfo-Help.xml
flagTranslation: Primary
HelpUri: https://packageupdateinfo.andibellstedt.com/docs/commands/set-packageupdatesetting/
Locale: en-US
Module Name: PackageUpdateInfo
ms.date: 06/22/2026
PlatyPS schema version: 2024-05-01
title: Set-PackageUpdateSetting
type: docs
-->



## 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

```powershell
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

```powershell
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

```powershell
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

```powershell
PS C:\> Set-PackageUpdateSetting -Reset
```

Resets the package update settings to the built-in defaults.

### EXAMPLE 5

```powershell
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.

```yaml
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.

```yaml
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: "*"

```yaml
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.

```yaml
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.

```yaml
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.

```yaml
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.

```yaml
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"

```yaml
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

```yaml
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

```yaml
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

```yaml
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

```yaml
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.

```yaml
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"

```yaml
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.

```yaml
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](https://go.microsoft.com/fwlink/?LinkID=113216).

## INPUTS

### PackageUpdate.Configuration

## OUTPUTS

### PackageUpdate.Configuration

## NOTES

Version  : 1.1.0.0
Author   : Andi Bellstedt
Date     : 2026-06-21
Keywords : PackageUpdateInfo, Update, Module, Setting

## RELATED LINKS

- [packageupdateinfo.andibellstedt.com/docs/commands/set-packageupdatesetting](https://packageupdateinfo.andibellstedt.com/docs/commands/set-packageupdatesetting/)
