- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to install PowerShell Module?
There are two methods to install PowerShell modules. Online and Offline.
Online Method
This method is just like downloading the online package through Yum in the Unix system.
We first need to search the package available on the internet using the Find-Module command. You can use the wildcard character if you don’t know the full module name. All the packages are downloaded from PowerShell Gallery (https://www.powershellgallery.com/).
For example, if you want a Vmware PowerCLI module and you don’t know the full module name then just use the part of the name inside the Wildcard character(*).
Find-Module *vmware* | Select Name, Version, Repository
Name Version Repository ---- ------- ---------- VMware.VimAutomation.Sdk 12.0.0.15939651 PSGallery VMware.VimAutomation.Core 12.0.0.15939655 PSGallery VMware.VimAutomation.Common 12.0.0.15939652 PSGallery VMware.VimAutomation.Cis.Core 12.0.0.15939657 PSGallery VMware.Vim 7.0.0.15939650 PSGallery VMware.VimAutomation.Vds 12.0.0.15940185 PSGallery VMware.VimAutomation.Srm 11.5.0.14899557 PSGallery VMware.VimAutomation.License 12.0.0.15939670 PSGallery VMware.VimAutomation.vROps 12.0.0.15940184 PSGallery VMware.VimAutomation.Cloud 12.0.0.15940183 PSGallery VMware.ImageBuilder 7.0.0.15902843 PSGallery VMware.VimAutomation.Nsxt 12.0.0.15939671 PSGallery VMware.PowerCLI 12.0.0.15947286 PSGallery VMware.VimAutomation.Horiz... 7.12.0.15718406 PSGallery VMware.VimAutomation.Storage 12.0.0.15939648 PSGallery VMware.DeployAutomation 7.0.0.15902843 PSGallery VMware.VimAutomation.Vmc 12.0.0.15947287 PSGallery VMware.VumAutomation 6.5.1.7862888 PSGallery VMware.VimAutomation.Stora... 1.3.0.0 PSGallery VMware.VimAutomation.Security 12.0.0.15939672 PSGallery VMware.VimAutomation.Hcx 12.0.0.15939647 PSGallery VMware.VimAutomation.HA 6.5.4.7567193 PSGallery VMware.VimAutomation.PCloud 10.0.0.7893924 PSGallery VMware.CloudServices 12.0.0.15947289 PSGallery VMware.VimAutomation.Workl... 12.0.0.15947288 PSGallery
Now we have a list of VMware modules available and we need Vmware.PowerCLI module among them. To install the module we will use Install-Module cmdlet.
Find-Module Vmware.PowerCLI | Install-Module
Untrusted repository You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the SetPSRepository cmdlet. Are you sure you want to install the modules from 'https://www.powershellgalle ry.com/api/v2/'? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):
You can check if the module is installed or not using the Get-Module command.
PS C:\WINDOWS\system32> Get-Module -Name *vmware* -ListAvailable | Select Name, Version Name Version ---- ------- VMware.CloudServices 12.0.0.15947289 VMware.DeployAutomation 7.0.0.15902843 VMware.DeployAutomation 6.5.1.5299608 VMware.ImageBuilder 7.0.0.15902843 VMware.ImageBuilder 6.5.1.5299608 vmware.powercli 12.0.0.15947286 VMware.Vim 7.0.0.15939650 VMware.VimAutomation.Cis.Core 6.5.1.5374323 VMware.VimAutomation.Cloud 12.0.0.15940183 VMware.VimAutomation.Cloud 6.5.1.5375799 VMware.VimAutomation.Common 6.5.1.5335010
The beauty of this method is, it will install dependent modules as well.
Offline Method
In the situation, when you don’t have an internet connection on the server, you need to download the package offline from the server or desktop having an active internet connection from PowerShell Gallery and copy the package to the offline server.
You can download the package from PowerShell gallery https://www.powershellgallery.com/ and for this example search for the package “Vmware.PowerCLI” and if the package exists, you will get the package name.
When you click on this package, you will get the Manual download tab as below.
The package you download will be in the Nupkg format (Nuget Package). This package is ZIP format file and some browsers like Internet Explorer convert it to ZIP automatically but you can rename its extension to ZIP as well. You can directly extract the Nupkg content into the folder with the 7-Zip as well. The content of the folder will be as below.
Description of the above files/folders content.
_rels Folder − Contains the .rels file that lists the dependencies.
Package folder − Contains the NuGet- Specific data.
[Content_Types] − Describes how NuGet Extension files work with PowerShellGet.
<name>.nuspec − Contains the bulk of metadata
For more details follow the article from Microsoft regarding the offline installation method.
Once you have unzipped the folder name would be like <Modulename.Version>, remove the version from that folder name, and the folder name would be now the module name.
According to the article above, we need to delete the Nuget-Specific elements from the folder but we can directly copy/paste the entire unzipped folder to the Powershell module path. Below is the module path for the Powershell.
PS C:\WINDOWS\system32> $env:PSModulePath -split ';' C:\Users\admin\Documents\WindowsPowerShell\Modules C:\Program Files\WindowsPowerShell\Modules C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\ C:\Program Files\PoSHServer\modules\ C:\Windows\System32\WindowsPowerShell\v1.0\Modules
We will choose here “C:\Program Files\WindowsPowerShell\Modules” module folder and copy the unzipped folder there. Now reopen or open a new PowerShell session and check if the copied new module loaded properly and you can see that the vmware.powercli module is there.
PS C:\WINDOWS\system32> Get-Module -Name *vmware* -ListAvailable | Select Name,Version Name Version ---- ------- VMware.CloudServices 12.0.0.15947289 VMware.DeployAutomation 7.0.0.15902843 VMware.DeployAutomation 6.5.1.5299608 VMware.ImageBuilder 7.0.0.15902843 VMware.ImageBuilder 6.5.1.5299608 vmware.powercli 12.0.0.15947286 VMware.Vim 7.0.0.15939650 VMware.VimAutomation.Cis.Core 6.5.1.5374323 VMware.VimAutomation.Cloud 12.0.0.15940183 VMware.VimAutomation.Cloud 6.5.1.5375799 VMware.VimAutomation.Common 6.5.1.5335010 VMware.VimAutomation.Core 6.5.1.5374329 VMware.VimAutomation.HA 6.0.0.5314477 VMware.VimAutomation.Hcx 12.0.0.15939647 VMware.VimAutomation.HorizonView 7.12.0.15718406 VMware.VimAutomation.HorizonView 7.1.0.5307191
This method doesn’t install the dependent module. You need to download the dependent modules and install them separately if needed.