Update-Module
Downloads and installs the newest version of specified modules from an online gallery to the local computer.
Update-Module
[[-Name] <String[]>]
[-RequiredVersion <Version>]
[-MaximumVersion <Version>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
The Update-Module
cmdlet installs a module's newest version from an online gallery. You're
prompted to confirm the update before it's installed. Updates are installed only for modules that
were installed on the local computer with Install-Module
. Update-Module
searches
$env:PSModulePath
for installed modules.
Update-Module
with no parameters specified updates all installed modules. To specify a module to
update, use the Name parameter. You can update to a module's specific version by using the
RequiredVersion parameter.
If an installed module is already the newest version, the module isn't updated. If the module isn't
found in $env:PSModulePath
, an error is displayed.
To display the installed modules, use Get-InstalledModule
.
This example updates all installed modules to the newest version in an online gallery.
Update-Module
This example updates a specific module to the newest version in an online gallery.
Update-Module -Name SpeculationControl
Update-Module
uses the Name parameter to update a specific module, SpeculationControl.
This example does a what-if scenario to show what happens if Update-Module
is run. The command
isn't run.
Update-Module -WhatIf
What if: Performing the operation "Update-Module" on target "Version '2.8.0' of module
'Carbon', updating to version '2.8.1'".
What if: Performing the operation "Update-Module" on target "Version '1.0.10' of module
'SpeculationControl', updating to version '1.0.14'".
Update-Module
uses the WhatIf parameter display what would happen if Update-Module
were run.
In this example, a module is updated to a specific version. The version must exist in the online gallery or an error is displayed.
Update-Module -Name SpeculationControl -RequiredVersion 1.0.14
Update-Module
uses the Name parameter to specify the module, SpeculationControl. The
RequiredVersion parameter specifies the version, 1.0.14.
This example doesn't request confirmation to update the module to the newest version from an online gallery. If the module is already installed, the Force parameter reinstalls the module.
Update-Module -Name SpeculationControl -Force
Update-Module
uses the Name parameter to specify the module, SpeculationControl. The
Force parameter updates the module without requesting user confirmation.
Prompts you for confirmation before running Update-Module
.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Forces an update of each specified module without a prompt to request confirmation. If the module is already installed, Force reinstalls the module.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the maximum version of a single module to update. You can't add this parameter if you're attempting to update multiple modules. The MaximumVersion and the RequiredVersion parameters can't be used in the same command.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifies the names of one or more modules to update. Update-Module
searches $env:PSModulePath
for the modules to update. If no matches are found in $env:PSModulePath
for the specified module
name, an error occurs.
Wildcards are accepted in module names. If you add wildcard characters to the specified name and no matches are found, no error occurs.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Specifies the exact version to which the existing installed module will be updated. The version specified by RequiredVersion must exist in the online gallery or an error is displayed. If more than one module is updated in a single command, you can't use RequiredVersion.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Shows what would happen if Update-Module
runs. The cmdlet isn't run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
For PowerShell 5.1 or below, the default scope in an elevated session is AllUsers, and in a
non-elevated session, CurrentUser. Module updates for AllUsers,
$env:ProgramFiles\PowerShell\Modules
, need elevated permissions. Module updates for
CurrentUser, $home\Documents\PowerShell\Modules
, don't need elevated permissions.
Update-Module
runs on PowerShell 3.0 or later releases of PowerShell, on Windows 7 or Windows 2008
R2 and later releases of Windows.
If the module that you specify with the Name parameter wasn't installed by using
Install-Module
, an error occurs.
You can only run Update-Module
on modules that you installed from the online gallery by running
Install-Module
.
If Update-Module
attempts to update binaries that are in use, Update-Module
returns an error
that identifies the problem processes. The user is informed to retry Update-Module
after the
processes are stopped.