Latest posts by Michael Pietroforte (see all)
- Author and member of the year 2019 – Why DevOps still doesn't rule the IT world - Wed, Jan 1 2020
- Results of the 4sysops member and author competition in 2018 - Tue, Jan 8 2019
- Why Microsoft is using Windows customers as guinea pigs - Reply to Tim Warner - Tue, Dec 18 2018
The native support of online repositories in PowerShell 5 is perhaps the most important extension of Microsoft’s scripting language since the introduction of PowerShell 3. Why? Scripting in PowerShell is fun—so much fun that many IT pros waste a lot of time (and their organization’s money) by reinventing the wheel with every new script they write. Our IT environments are not that much different that every admin needs a unique set of tools.
PowerShell ISE Module Browser
You can already search in repositories such as GitHub. However, because Microsoft is now actively supporting package managers in PowerShell 5, many admins will become aware of these huge repositories. Just as app stores pushed the adoption of smartphones, the integration of online repositories in PowerShell will encourage many admins to get started with PowerShell. That’s why I hope that Module Browser will be installed by default in Windows 10 and PowerShell 5.
Module Browser requires the Windows Management Framework 5.0 Preview (PowerShell 5), which is included in Windows 10. You can install it on Windows 8.1, but you should be aware that it is just a Preview version. Module Browser is based on PowerShellGet, which enables OneGet to manage PowerShell modules as software packages.
After you install Module Browser, a new tab appears beside the Commands add-on. Module Browser has three main tabs: Gallery, Favorites, and My Collection. Gallery is your new PowerShell app store and allows you to search in the online repository PowerShell Gallery. You can add modules that you found in Gallery to the Favorites tab by right-clicking them. My Collection lists all installed modules on your system, including those that were not installed with Module Browser.
Unfortunately, the search function is not as good as the one in the web version of PowerShell Gallery. Module Browser only searches within the module’s titles, whereas the web version also finds text in the module’s description and its tags. This reduces Module Browser’s usefulness considerably. I hope Microsoft fixes this problem in the next release. The good thing is that you don’t have to know the exact name of the module. For instance, if you search for “active,” you will also find the xActiveDirectory module.
Module Browser search
A double-click on a search result will reveal more information, such as the author, the module description, and a version history. What I like is that you can also install older versions. I wish the various app stores would offer the same feature.
If you click the Install button, Module Browser will launch the new Install-Module cmdlet. If the module is already installed and you install a newer or older version, Module Browser will uninstall your current version automatically.
Module Browser launches Install-Module
You can choose whether the module is installed for all users or only the current user. The only difference between the two options is that the module will be copied to $env:programfiles\WindowsPowerShell\Modules, in the first case, and to $Home\Documents\WindowsPowerShell\Modules, in the second case. You can change this behavior in the Module Browser settings.
Module Browser settings
After you install the module, you can view its files and commands. A click on the PowerShell logo beside a cmdlet will launch Show-Command; a double-click on the cmdlet will open its code in the PowerShell ISE script pane.
Cmdlets in a module
The My Collection tab provides the same functionality. It lists all modules that are installed on the system, including those that were pre-installed by Microsoft.
You can easily distinguish the source of the module by the icons beside its name. It makes sense to scroll through all modules and add to your Favorites folder those you use often, so you can quickly access cmdlets if you forget their name.
Module Browser enables PowerShell developers to submit their modules to the PowerShell Gallery. At the time of this writing, 142 modules are available. If Microsoft installs Module Browser by default in future PowerShell ISE versions, many more IT pros would probably share their scripts with the community.
- PowerShell Script Browser and Script Analyzer – Must-have tools for scripters
- 10 reasons for using PowerShell ISE instead of the PowerShell console