| external help file | PSModule-help.xml |
|---|---|
| Locale | en-US |
| Module Name | PowerShellGet |
| ms.custom | 3.0.22-beta22 |
| ms.date | 09/19/2023 |
| online version | https://learn.microsoft.com/powershell/module/powershellget/save-module?view=powershellget-2.x&WT.mc_id=ps-gethelp |
| schema | 2.0.0 |
| title | Save-Module |
Saves a module and its dependencies on the local computer but doesn't install the module.
Save-Module [-Name] <String[]> [-MinimumVersion <String>] [-MaximumVersion <String>]
[-RequiredVersion <String>] [-Repository <String[]>] [-Path] <String> [-Proxy <Uri>]
[-ProxyCredential <PSCredential>] [-Credential <PSCredential>] [-Force] [-AllowPrerelease]
[-AcceptLicense] [-WhatIf] [-Confirm] [<CommonParameters>]
Save-Module [-Name] <String[]> [-MinimumVersion <String>] [-MaximumVersion <String>]
[-RequiredVersion <String>] [-Repository <String[]>] -LiteralPath <String> [-Proxy <Uri>]
[-ProxyCredential <PSCredential>] [-Credential <PSCredential>] [-Force] [-AllowPrerelease]
[-AcceptLicense] [-WhatIf] [-Confirm] [<CommonParameters>]
Save-Module [-InputObject] <PSObject[]> -LiteralPath <String> [-Proxy <Uri>]
[-ProxyCredential <PSCredential>] [-Credential <PSCredential>] [-Force] [-AcceptLicense] [-WhatIf]
[-Confirm] [<CommonParameters>]
Save-Module [-InputObject] <PSObject[]> [-Path] <String> [-Proxy <Uri>]
[-ProxyCredential <PSCredential>] [-Credential <PSCredential>] [-Force] [-AcceptLicense] [-WhatIf]
[-Confirm] [<CommonParameters>]
The Save-Module cmdlet downloads a module and any dependencies from a registered repository.
Save-Module downloads and saves the most current version of a module. The files are saved to a
specified path on the local computer. The module isn't installed, but the contents are available for
inspection by an administrator. The saved module can then be copied into the appropriate
$env:PSModulePath location of the offline machine.
This is a proxy cmdlet for the Save-PSResource cmdlet in the
Microsoft.PowerShell.PSResourceGet. For more information, see
Save-PSResource
In this example, a module and its dependencies are saved to the local computer.
Save-Module -Name PowerShellGet -Path C:\Test\Modules -Repository PSGallery
Get-ChildItem -Path C:\Test\Modules Directory: C:\Test\Modules
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 7/1/2019 13:31 PackageManagement
d----- 7/1/2019 13:31 PowerShellGet
Save-Module uses the Name parameter to specify the module, PowerShellGet. The Path
parameter specifies where to store the downloaded module. The Repository parameter specifies a
registered repository, PSGallery. After the download is finished, Get-ChildItem displays the
contents of Path where the files are stored.
This example shows how to use a parameter such as MaximumVersion, or RequiredVersion to specify a module version.
Save-Module -Name PowerShellGet -Path C:\Test\Modules -Repository PSGallery -MaximumVersion 2.1.0
Get-ChildItem -Path C:\Test\Modules\PowerShellGet\ Directory: C:\Test\Modules\PowerShellGet
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 7/1/2019 13:40 2.1.0
Save-Module uses the Name parameter to specify the module, PowerShellGet. The Path
parameter specifies where to store the downloaded module. The Repository parameter specifies a
registered repository, PSGallery. MaximumVersion specifies that version 2.1.0 is
downloaded and saved. After the download is finished, Get-ChildItem displays the contents of
Path where the files are stored.
In this example, a required module version is found in the repository and saved to the local computer.
Find-Module -Name PowerShellGet -Repository PSGallery -RequiredVersion 1.6.5 |
Save-Module -Path C:\Test\Modules
Get-ChildItem -Path C:\Test\Modules\PowerShellGet Directory: C:\Test\Modules\PowerShellGet
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 7/1/2019 14:04 1.6.5
Find-Module uses the Name parameter to specify the module, PowerShellGet. The
Repository parameter specifies a registered repository, PSGallery. RequiredVersion
specifies version 1.6.5.
The object is sent down the pipeline to Save-Module. The Path parameter specifies where to
store the downloaded module. After the download is finished, Get-ChildItem displays the contents
of Path where the files are stored.
The proxy cmdlet ignores this parameter since it's not supported by Save-PSResource.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseAllows you to save a module marked as a prerelease.
The proxy cmdlet maps this parameter to the Prerelease parameter of Save-PSResource.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: NameAndPathParameterSet, NameAndLiteralPathParameterSet
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies a user account that has rights to save a module.
Type: System.Management.Automation.PSCredential
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseThe proxy cmdlet ignores this parameter since it's not supported by Save-PSResource.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseAccepts a PSRepositoryItemInfo object. For example, output Find-Module to a variable and use
that variable as the InputObject argument.
Type: System.Management.Automation.PSObject[]
Parameter Sets: InputObjectAndLiteralPathParameterSet, InputObjectAndPathParameterSet
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: FalseSpecifies a path to one or more locations. The value of the LiteralPath parameter is used exactly as entered. No characters are interpreted as wildcards. If the path includes escape characters, enclose them in single quotation marks. PowerShell does not interpret any characters enclosed in single quotation marks as escape sequences.
The proxy cmdlet maps this parameter to the Path parameter of Save-PSResource.
Type: System.String
Parameter Sets: NameAndLiteralPathParameterSet, InputObjectAndLiteralPathParameterSet
Aliases: PSPath
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseThe proxy cmdlet uses the value of this parameter to create a NuGet version search string for use
with the Version parameter of Save-PSResource.
Type: System.String
Parameter Sets: NameAndPathParameterSet, NameAndLiteralPathParameterSet
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseThe proxy cmdlet uses the value of this parameter to create a NuGet version search string for use
with the Version parameter of Save-PSResource.
Type: System.String
Parameter Sets: NameAndPathParameterSet, NameAndLiteralPathParameterSet
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseSpecifies an array of names of modules to save.
Type: System.String[]
Parameter Sets: NameAndPathParameterSet, NameAndLiteralPathParameterSet
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseSpecifies the location on the local computer to store a saved module. Accepts wildcard characters.
Type: System.String
Parameter Sets: NameAndPathParameterSet, InputObjectAndPathParameterSet
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: TrueThe proxy cmdlet ignores this parameter since it's not supported by Save-PSResource.
Type: System.Uri
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseThe proxy cmdlet ignores this parameter since it's not supported by Save-PSResource.
Type: System.Management.Automation.PSCredential
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseSpecifies the friendly name of a repository that has been registered by running
Register-PSRepository. Use Get-PSRepository to display registered repositories.
Type: System.String[]
Parameter Sets: NameAndPathParameterSet, NameAndLiteralPathParameterSet
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseThe proxy cmdlet uses the value of this parameter to create a NuGet version search string for use
with the Version parameter of Save-PSResource.
Type: System.String
Parameter Sets: NameAndPathParameterSet, NameAndLiteralPathParameterSet
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalsePrompts you for confirmation before running the Save-Module.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: FalseShows what would happen if the Save-Module runs. The cmdlet isn't run.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: FalseThis cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
The PowerShell Gallery no longer supports Transport Layer Security (TLS) versions 1.0 and 1.1. You must use TLS 1.2 or higher. Use the following command to ensure you are using TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12