PowerShell module with commands for discovering, installing, updating and publishing the PowerShell artifacts like Modules, DSC Resources, Role Capabilities and Scripts.

Minimum PowerShell version


There is a newer prerelease version of this module available.
See the version list below for details.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name PowerShellGet -RequiredVersion 1.6.5 -Force

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More


Microsoft Corporation


(c) Microsoft Corporation. All rights reserved.

Package Details



Packagemanagement Provider Linux Mac


Find-Command Find-DSCResource Find-Module Find-RoleCapability Find-Script Get-InstalledModule Get-InstalledScript Get-PSRepository Install-Module Install-Script New-ScriptFileInfo Publish-Module Publish-Script Register-PSRepository Save-Module Save-Script Set-PSRepository Test-ScriptFileInfo Uninstall-Module Uninstall-Script Unregister-PSRepository Update-Module Update-ModuleManifest Update-Script Update-ScriptFileInfo


Desktop Core


Release Notes

## 1.6.5

New features
* Allow Pester/PSReadline installation when signed by non-Microsoft certificate (#258)
 - Whitelist installation of non-Microsoft signed Pester and PSReadline over Microsoft signed Pester and PSReadline.

Build and Code Cleanup Improvements
* Splitting of functions (#229) (Thanks @Benny1007)
 - Moves private functions into respective private folder.
 - Moves public functions as defined in PSModule.psd1 into respective public folder.
 - Removes all functions from PSModule.psm1 file.
 - Dot sources the functions from PSModule.psm1 file.
 - Uses Export-ModuleMember to export the public functions from PSModule.psm1 file.

* Add build step to construct a single .psm1 file (#242) (Thanks @Benny1007)
 - Merged public and private functions into one .psm1 file to increase load time performance.

Bug fixes
- Fix null parameter error caused by MinimumVersion in Publish-PackageUtility (#201)
- Change .ExternalHelp link from PSGet.psm1-help.xml to PSModule-help.xml in PSModule.psm1 file (#215)
- Change Publish-* to allow version comparison instead of string comparison (#219)
- Ensure Get-InstalledScript -RequiredVersion works when versions have a leading 0 (#260)
- Add positional path to Save-Module and Save-Script (#264, #266)
- Fix issues Get-AuthenticodePublisher when installing or updating a module (#272)
- Update HelpInfoURI to 'https://go.microsoft.com/fwlink/?linkid=855963' (#274)

## 1.6.0

New features
* Prerelease Version Support (#185)
 - Implemented prerelease versions functionality in PowerShellGet cmdlets.
 - Enables publishing, discovering, and installing the prerelease versions of modules and scripts from the PowerShell Gallery.
 - [Documentation](https://docs.microsoft.com/en-us/powershell/gallery/psget/module/PrereleaseModule)

* Enabled publish cmdlets on PWSH and Nano Server (#196)
 - Dotnet command version 2.0.0 or newer should be installed by the user prior to using the publish cmdlets on PWSH and Windows Nano Server.
 - Users can install the dotnet command by following the instructions specified at https://aka.ms/dotnet-install-script.
 - On Windows, users can install the dotnet command by running *Invoke-WebRequest -Uri 'https://dot.net/v1/dotnet-install.ps1' -OutFile '.\dotnet-install.ps1'; & '.\dotnet-install.ps1' -Channel Current -Version '2.0.0'*
 - Publish cmdlets on Windows PowerShell supports using the dotnet command for publishing operations.

Breaking Change
- PWSH: Changed the installation location of AllUsers scope to the parent of $PSHOME instead of $PSHOME. It is the SHARED_MODULES folder on PWSH.

Bug fixes
- Update HelpInfoURI to 'https://go.microsoft.com/fwlink/?linkid=855963' (#195)
- Ensure MyDocumentsPSPath path is correct (#179) (Thanks @lwsrbrts)


New features
* Added support for modules requiring license acceptance (#150)
 - [Documentation](https://docs.microsoft.com/en-us/powershell/gallery/psget/module/RequireLicenseAcceptance)

* Added version for REQUIREDSCRIPTS (#162)
 - Enabled following scenarios for REQUIREDSCRIPTS
   - [1.0] - RequiredVersion
   - [1.0,2.0] - Min and Max Version
   - (,1.0] - Max Version
   - 1.0 - Min Version

Bug fixes
* Fixed empty version value in nuspec (#157)

* Disabled PowerShellGet Telemetry on PS Core as PowerShell Telemetry APIs got removed in PowerShell Core beta builds. (#153)
* Fixed for DateTime format serialization issue. (#141)
* Update-ModuleManifest should add ExternalModuleDependencies value as a collection. (#129)


New features
* Added `PrivateData` field to ScriptFileInfo. (#119)

Bug fixes
* Fixed Add-Type issue in v6.0.0-beta.1 release of PowerShellCore. (#125, #124)
* Install-Script -Scope CurrentUser PATH changes should not require a reboot for new PS processes. (#124)
   - Made changes to broadcast the Environment variable changes, so that other processes pick changes to Environment variables without having to reboot or logoff/logon.
* Changed `Get-EnvironmentVariable` to get the unexpanded version of `%path%`. (#117)
* Refactor credential parameter propagation to sub-functions. (#104)
* Added credential parameter to subsequent calls of `Publish-Module/Script`. (#93)
   - This is needed when a module is published that has the RequiredModules attribute in the manifest on a repository that does not have anonymous access because the required module lookups will fail.


Bug fixes
* Renamed `PublishModuleIsNotSupportedOnNanoServer` errorid to `PublishModuleIsNotSupportedOnPowerShellCoreEdition`. (#44)
   - Also renamed `PublishScriptIsNotSupportedOnNanoServer` to `PublishScriptIsNotSupportedOnPowerShellCoreEdition`.
* Fixed an issue in `Update-Module` and `Update-Script` cmdlets to show proper version of current item being updated in `Confirm`/`WhatIf` message. (#44)
* Updated `Test-ModuleInstalled` function to return single module instead of multiple modules. (#44)
* Updated `ModuleCommandAlreadyAvailable` error message to include all conflicting commands instead of one.  (#44)
   - Corresponding changes to collect the complete set of conflicting commands from the being installed.
   - Also ensured that conflicting commands from PSModule.psm1 are ignored in the command collision analysis as Get-Command includes the commands from current local scope as well.

* Fixed '[Test-ScriptFileInfo] Fails on *NIX newlines (LF vs. CRLF)' (#18)


Bug fixes
* Fixed 'Update-Module fails with `ModuleAuthenticodeSignature` error for modules with signed PSD1'. (#12) (#8)
* Fixed 'Properties of `AdditionalMetadata` are case-sensitive'. #7
* Changed `ErrorAction` to `Ignore` for few cmdlet usages as they should not show up in ErrorVariable.
   - For example, error returned by `Get-Command Test-FileCatalog` should be ignored.


* Initial release from GitHub.
* PowerShellCore support.
* Security enhancements including the enforcement of catalog-signed modules during installation.
* Authenticated Repository support.
* Proxy Authentication support.
* Responses to a number of user requests and issues.


Version History

Version Downloads Last updated
3.0.22-beta22 6,646 9/20/2023
2.2.5 185,723,670 9/22/2020 12,358,962 4/22/2020
2.2.4 564,228 4/16/2020
2.2.3 8,574,649 12/23/2019
2.2.2 456,728 12/11/2019
2.2.1 3,090,870 8/16/2019
2.2 976,558 7/9/2019
2.1.5 670,292 6/18/2019
2.1.4 752,243 5/21/2019
2.1.3 348,587 5/14/2019
2.1.2 1,608,633 3/15/2019
2.1.1 206,937 3/14/2019
2.1.0 281,732 3/8/2019
2.0.4 1,131,116 1/15/2019
2.0.3 1,002,872 11/19/2018
2.0.1 1,178,953 9/24/2018
2.0.0 430,279 9/13/2018
1.6.7 684,300 8/17/2018
1.6.6 1,009,829 7/2/2018
1.6.5 (current version) 1,001,537 5/17/2018
1.6.0 1,017,907 12/5/2017 353,310 10/9/2017 211,649 8/8/2017 262,705 5/16/2017 211,752 12/5/2016 189,612 10/12/2016 188,914 9/29/2016
Show less