Introducing Module Manager – Available for Community Preview

Whether you are a PowerShell beginner or expert, PowerShell modules are an important resource for your script development. That’s why we developed Module Manager—the essential tool for centrally managing all PowerShell modules installed on your machine. We have released a preview version to gather community feedback. Try it out and let us know what you think!

Module Manager Features

  • Search and download new modules from the PowerShell Gallery or any other registered repository.
  • Filter and find specific modules on your machine, and view detailed module information at a glance.
  • Centrally manage PowerShell modules:
    • View all available versions, then install a specific version.
    • Update installed modules to keep them current.
    • View all installed versions, then disable or uninstall specific versions.

 

Search and Install

Repository Search displays gallery module information and allows you to add modules to your system.

You can search by:

  • Name: Specifies the names of one or more modules to search for. This is the only parameter that supports wildcard characters.
  • Tag: Keywords used to help find modules.
  • Command: Cmdlets, functions, or aliases found in the module.
  • Filter: Filters through the name, description, and tags for the search argument based on the PackageManagement module provider-specific search syntax. For NuGet modules, this is the equivalent of searching by using the Search bar on the PowerShell Gallery website.

To add a module, right-click and select Install or select the green download arrow:

The install options are disabled if the module is already installed on your machine.

Note: The default registered repository is the PowerShell Gallery. This setting can be changed in the Options dialog (File > Options).

See Managing Repositories below for information on adding, editing, and removing repositories.

 

Filter and Sort

Find a specific module on your machine easily by using the Filter section on the ribbon:

 

Enter a search term in the textbox of the Filter section on the ribbon. Modules containing the search term will be displayed, with the term highlighted:

 

Use the buttons in the Filter section on the ribbon to filter the displayed modules—click to check or uncheck and view the modules by Status:

  • Update: A version is available that is more current than the one installed.
  • Up-to-date: The modules installed are the most current available.
  • User: Modules installed that were not installed by the Install-Module cmdlet.
  • System: Displays modules from the system folder (filtered by default).

The status is displayed in the grid using the same colors specified in the Filter buttons on the ribbon:

 

Tip You can also sort the displayed modules by selecting Status, Name, Author, or Description at the top of each column.

 

Module Details

The Information panel provides details about the selected module:

  • Description: A short description of the module.
  • Latest Version: The latest version of the module available on the repository.
  • Minimum PowerShell Version: The minimum PowerShell version that is required to run the module.
  • Last Updated: The last date the module was updated in the repository.
  • Release Notes: The latest release notes provided by the module author.
  • Tags: Keywords used to search for modules in PowerShell repositories.
  • Commands: Cmdlets, functions, or aliases contained in the module.

 

 

Tip Click on a tag in the Information panel to open a search for modules with the same tag.

 

Manage Modules

The Modules section on the ribbon has centralized buttons for viewing and installing available versions, as well as updating, disabling, and uninstalling versions.

Available Module Versions

Available Versions displays all versions of the selected module, including the corresponding number of downloads, date published, and release notes.

To install a particular version, select the version and click Install.

Note: The Install option is disabled when the selected version is already installed.

 

Update Modules

The Update button checks to see if an update is available for the selected module:

If a newer version of the module is available, then it will be installed:

Note: If a newer version is not available, the information in the Information Panel will be updated if new information is found.

Tip To reload the information for all installed modules, select File > Refresh Installed (F5).

 

Disable and Uninstall Modules

Module Manager provides a number of ways to disable or uninstall module versions.

 

In Windows PowerShell 5.0, you can have multiple versions of the same module on the same machine, and you can even have multiple versions of the same module imported into the same session. Module Manager displays all of the module versions installed, showing the version number and the install directory:

Note: When you use Import-Module to add modules to the current session, the order in which it looks for the modules is determined by the value of the PSModulePath environment variable ($env:PSModulePath).

There are four options for disabling and uninstalling module versions:

  • Disable: Move a specific version of a module into a separate folder away from the paths specified in the PSModulePath environment variable.
  • Disable All Versions: Move all instances of the module into a separate folder, similar to Disable.
  • Uninstall: Remove a specific version of a module from your machine.
  • Uninstall All Versions: Remove all instances of a module from your machine.

 

Tip Tips for Disabling and Uninstalling Modules:

To help distinguish what module PowerShell will load, disable the other versions. If you are not sure if you want to uninstall particular versions, then disable them. Disabling a module moves it to a folder in ProgramData, and enabling moves them back to their previous location. If modules are not needed, simply uninstall them.

Note: Modules are uninstalled by the Uninstall-Module cmdlet, but if they fail to uninstall or if they were not installed with the Install-Module, they are moved to the Recycle Bin.

Manage Repositories

The Repositories dialog ( File > Repositories) allows you to view all of the repositories currently registered to your machine. You can also add, edit, or delete repositories you no longer need:

The properties that can be set when registering a repository are Name, Source Location, Publish Location, and Installation Policy.

A repository’s Installation Policy specifies the PowerShell behavior when installing from that repository. For example, when installing modules from an Untrusted repository the user is prompted for confirmation, but when the repository is Trusted there is no confirmation prompt.

Source Location specifies the URL or file path of the repository to search and install modules from. Publish Location specifies the URL or file path of the repository where modules should be published.

Note: The default registered repository is the PowerShell Gallery. This setting can be changed in the Options dialog (File > Options).

 

Settings

Module Manager settings can be configured in the Options dialog (File > Options):

 

PowerShell Module Settings

  • Repository: Change the repository that is used when searching for module information and browsing in Repository Search.
  • Installation Scope: Specify where modules will be installed when updating or installing:
    • Current User: Modules will be installed in a location that is only available to the current user:  $home\Documents\WindowsPowerShell\Modules
    • All Users: Modules will be installed in a location accessible to all users of the computer: %systemdrive%:\ProgramFiles\WindowsPowerShell\Modules
  • Automatically check for module updates: Allows Module Manager to check for module updates on start-up. It will search the designated Repository and then update the Status field accordingly.

Panels Settings

  • Reload Previous State: Reloads the panels to their previous configuration.
  • Reset to Default State: Restores the panels to the default configuration.

 

Security and Permissions

Module Manager needs to run with elevated permissions to update modules stored in the Program Files directory.  At start-up, Module Manager will prompt with “Do you want to allow this app to make changes to your device?”. Select Yes to launch the program.

 

Prerequisites

You will need PowerShell v5.0. We may support older versions in the future, depending on demand.

If you wish to install from the PowerShell Gallery, NuGet is also required: Download NuGet

 

Free Preview for a Limited Time

Module Manager is available for a time-limited community preview, which expires on December 1, 2018. Module Manager is currently only available in 64 bit.

Download preview here: Download Module Manager (64 bit)

 

Feedback

Community feedback is valuable because it helps us improve and create tools that you need. If you have any suggestions, feedback, or feature requests, please post in our feedback forum.