如何从本地文件夹安装/更新powershell模块 - 设置内部模块存储库

时间:2018-04-23 18:40:58

标签: powershell powershellget

我需要在一个生产盒上安装PowerShell模块(即sqlserver),但是,生产服务器没有任何互联网连接。

我使用的另一种方法是使用save-module将模块文件保存到共享文件夹,然后将文件从共享文件夹直接复制到生产服务器的PS模块路径

c:\program files\WindowsPowerShell\Modules

它有效,但我只是想知道我们是否可以使用现有方法,即安装模块,如

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

此要求也扩展到更新模块。

使用save-module然后复制& paste似乎非常不可靠,因为我不知道install-module是否会实际执行一些DLL文件注册或安装。

任何PS大师都可以告诉我们如何做到这一点,即使用没有互联网连接的安装模块吗?

提前感谢您的时间。

PS:我知道SO上有一个post,但它对我没有帮助。

3 个答案:

答案 0 :(得分:3)

  1. 在任何外壳中(高架与否):

    Register-PSRepository -Name 'myRepositoryName' -SourceLocation 'my folder'
    

    文件夹.nupkg现在可以发现文件夹中的所有Install-Module文件。

  2. 在提升的外壳中(以管理员身份运行):

    Install-Module 'Some-Module' -Repository 'myRepositoryName'
    

答案 1 :(得分:1)

Eric的回答对我很有帮助。我还添加了:

-InstallationPolicy Trusted

转到Register-PSRepository呼叫。 采取一个模块并将其作为nuget包发布如下: Publish-Module -Name myModuleName -Repository myRepositoryName

答案 2 :(得分:-2)

请参阅my answer to another similar question,这可能会有帮助。