Project

PSPublishModule

Build, test, version, sign, and publish PowerShell modules with reusable PowerForge pipelines.

Stars 48
Forks 16
PowerShell Gallery downloads 17,213
Release v3.0.186
Language: C# Updated: 2026-11-04
Command

Save-ManagedModule

Module
PSPublishModule
Inputs
PowerForge.ManagedModuleVersionInfo[] System.String[]
Outputs
PowerForge.ManagedModuleInstallResult PowerForge.ManagedModuleInstallPlan

Saves modules from a managed repository to an explicit module root.

Syntax

Save-ManagedModule
[-AcceptLicense]
[-AllowClobber]
[-AllowedAuthor <String[]>]
[-AsNupkg]
[-AuthenticodeCheck]
[-BundleMetadataPath <String>]
[-Credential <PSCredential>]
[-CredentialSecret <String>]
[-CredentialSecretFilePath <String>]
[-CredentialUserName <String>]
[-DependencyConcurrency <Int32>]
[-ExpectedPackageSha256 <String>]
[-Force]
[-IncludeXml]
[-MaximumVersion <String>]
[-MinimumVersion <String>]
[-Name] <String[]>
[-PackageCacheDirectory <String>]
[[-Path] <String>]
[-Plan]
[-Prerelease]
[-ProfileName <String>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-Quiet]
[-Repository <String>]
[-RepositoryName <String>]
[-RequireTrustedRepository]
[-ShowSummary]
[-SkipDependencyCheck]
[-TrustPolicy <ManagedModuleTrustPolicy>]
[-Version <String>]
[-VersionPolicy <String>]
[<CommonParameters>]
#
Parameter set: NameParameterSet
Save-ManagedModule
[-AcceptLicense]
[-AllowClobber]
[-AllowedAuthor <String[]>]
[-AsNupkg]
[-AuthenticodeCheck]
[-BundleMetadataPath <String>]
[-Credential <PSCredential>]
[-CredentialSecret <String>]
[-CredentialSecretFilePath <String>]
[-CredentialUserName <String>]
[-DependencyConcurrency <Int32>]
[-ExpectedPackageSha256 <String>]
[-Force]
[-IncludeXml]
[-InputObject] <ManagedModuleVersionInfo[]>
[-PackageCacheDirectory <String>]
[[-Path] <String>]
[-Plan]
[-ProfileName <String>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-Quiet]
[-Repository <String>]
[-RepositoryName <String>]
[-RequireTrustedRepository]
[-ShowSummary]
[-SkipDependencyCheck]
[-TrustPolicy <ManagedModuleTrustPolicy>]
[<CommonParameters>]
#
Parameter set: InputObjectParameterSet

Description

This command provides the module-save functionality of Save-PSResource through the same managed C# repository and archive engine as Install-ManagedModule. It accepts names or typed Find-ManagedModule output, saves unpacked modules or .nupkg files, and defaults to the current filesystem location when Path is omitted.

Examples

Save the latest stable module from the default public gallery endpoint

Save-ManagedModule -Name Company.Tools -Path C:\Modules

Save an exact version from a local feed

Save-ManagedModule -Name Company.Tools -RequiredVersion 1.2.0 -Repository C:\Packages -Path C:\Modules

Save typed find output with PowerShellGet-compatible XML metadata

Find-ManagedModule -Name Company.Tools -Version 1.2.0 -ProfileName CompanyModules | Save-ManagedModule -Path C:\OfflineModules -IncludeXml

Save a package file in the current directory

Save-ManagedModule -Name Company.Tools -Version 1.2.0 -AsNupkg

Parameters

-AcceptLicense SwitchParameter optional
Accept package licenses when packages declare license acceptance is required.
-AllowClobber SwitchParameter optional
Allow command exports to overlap with other modules in the destination root.
-AllowedAuthor String[] optionalaliases: RequiredAuthor, TrustedAuthor
Allowed package author values from package metadata.
-AsNupkg SwitchParameter optional
Save the selected packages as .nupkg files instead of unpacked module folders.
-AuthenticodeCheck SwitchParameter optional
Validate Authenticode signatures for signable package files before saving.
-BundleMetadataPath String optionalaliases: MetadataPath, OfflineBundleMetadataPath
Optional path for offline bundle metadata written after successful saves.
-Credential PSCredential optional
Optional repository credential.
-CredentialSecret String optionalaliases: Password, Token
Optional repository credential secret.
-CredentialSecretFilePath String optionalaliases: CredentialPath, TokenPath
Optional path to a file containing the repository credential secret.
-CredentialUserName String optionalaliases: UserName
Optional repository credential username.
-DependencyConcurrency Int32 optional
Maximum number of dependency branches to save concurrently. Omit to use the managed engine default.
-ExpectedPackageSha256 String optionalaliases: PackageSha256, Sha256
Expected SHA256 hash of the root package before it is extracted and saved.
-Force SwitchParameter optional
Overwrite an existing saved version.
-IncludeXml SwitchParameter optional
Write PowerShellGet-compatible PSGetModuleInfo.xml metadata beside each saved unpacked module.
-MaximumVersion String optionalsets: NameParameterSet
Maximum package version to save when Version is omitted.
-MinimumVersion String optionalsets: NameParameterSet
Minimum package version to save when Version is omitted.
-Name String[] requiredposition: 0pipeline: True (ByPropertyName)aliases: ModuleNamesets: NameParameterSet
Module names to save.
-PackageCacheDirectory String optional
Optional package cache directory.
-Path String optionalposition: 1aliases: DestinationPath, ModuleRoot
Destination module root. Defaults to the current filesystem location.
-Plan SwitchParameter optional
Return an inspectable save plan without writing files.
-Prerelease SwitchParameter optionalaliases: AllowPrereleasesets: NameParameterSet
Include prerelease versions when resolving the latest version.
-ProfileName String optional
Saved repository profile name.
-Proxy Uri optional
Optional HTTP proxy used for repository requests.
-ProxyCredential PSCredential optional
Optional proxy credential used with Proxy.
-Quiet SwitchParameter optional
Suppress optional host summaries and progress-style output without changing pipeline result objects.
-Repository String optionalaliases: RepositoryUri, Source
Repository URL, NuGet v3 service index, flat-container URL, or local folder feed.
-RepositoryName String optional
Friendly repository name used in output.
-RequireTrustedRepository SwitchParameter optional
Require the selected repository profile to be marked trusted.
-ShowSummary SwitchParameter optional
Write a compact Spectre.Console summary for each plan or result.
-SkipDependencyCheck SwitchParameter optionalaliases: SkipDependenciesCheck
Skip installing dependencies declared by the package.
-TrustPolicy ManagedModuleTrustPolicy optional
Optional typed repository/package trust policy.
-Version String optionalaliases: RequiredVersionsets: NameParameterSet
Exact package version to save. When omitted, the latest repository version is used.
-VersionPolicy String optionalsets: NameParameterSet
NuGet-style version range policy used when Version is omitted.
-InputObject ManagedModuleVersionInfo[] requiredposition: 0pipeline: True (ByValue, ByPropertyName)aliases: ParentResourcesets: InputObjectParameterSet
Module versions returned by Find-ManagedModule to save.

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.