Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to install/update a powershell module from a local folder - set up an internal module repository

I need to install a PowerShell module (i.e. sqlserver) on one production box, however, the production server does not have any internet connection.

An alternative way I am using is to use save-module to save module files onto a shared folder and then copy the files from the shared folder directly to production server's PS module path

c:\program files\WindowsPowerShell\Modules

It works, but I am just wondering whether we can use the existing approach, i.e. install-module, something like

install-module -name sqlserver -repository "my shared folder"

This requirement extends to update-module as well.

Using save-module and then copy & paste seems very unreliable because I have no idea whether install-module will actually do some DLL file registration or installation.

Can any PS gurus please give some idea how to do this, i.e. using install-module without internet connection?

Thanks in advance for your time.

PS: I know there is a post at SO but it does not help me.

like image 346
jyao Avatar asked Apr 23 '18 18:04

jyao


People also ask

How do I manually install PowerShell modules?

To install PowerShell modules manually, you first need to determine your current PowerShell module directory path, download your new module to that path, and invoke the import-module command to let windows know it's there.


1 Answers

  1. In any shell (elevated or not):

     Register-PSRepository -Name 'myRepositoryName' -SourceLocation 'C:\MyExampleFolder'
    

    All .nupkg files inside your folder are now discoverable by Install-Module.

  2. In an elevated shell (Run as Administrator):

     Install-Module 'Some-Module' -Repository 'myRepositoryName'
    
like image 120
Eric Eskildsen Avatar answered Sep 19 '22 21:09

Eric Eskildsen