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.

2

2 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'
    
5

Eric's answer was helpful for me. I also added:

-InstallationPolicy Trusted

to the Register-PSRepository call. Taking a module and publishing it as a nuget package looks like this: Publish-Module -Name myModuleName -Repository myRepositoryName

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Chloe Bennett

Chloe Bennett

Culture, Media & Entertainment Columnist

Chloe Bennett explores the intersection of pop culture, streaming entertainment, digital trends, and contemporary lifestyle. Her weekly commentary reaches thousands of culture enthusiasts.

Share this article
Twitter Facebook Pinterest