高安全性要求的环境下,有些mission critical的机器不能访问internet是很正常的。但如何安装PowerShell module?
1. 在一个有internet连接的机器上执行 (nuget的版本自己看着办)
Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force
2. 在该机器的 C:\Program Files\PackageManagement\ProviderAssemblies 目录下可以找到 Nuget目录。 在目标机器上创建 C:\Program Files\PackageManagement\ProviderAssemblie 目录, copy Nuget目录过来。 这样 NuGet provider就绪了
3. 目标机器上启动PowerShell,自动加载 NuGet provider。然后创建一个目录,例如 C:\PSModules目录,运行如下命令注册刚才创建的本地目录为 PowerShell module的Local Repository
Register-PSRepository -Name Local -SourceLocation C:\PSModules -InstallationPolicy Trusted
4. 从www.PowerShellGallery.com 下载PowerShell module的 raw file,也就是 nuget后缀的安装文件,copy到目标机器的 local repository目录下。 执行如下命令,确定Nuget provider已经识别到
Find-Module -Repository Local
5. 最后,开始安装
Install-Module -Name &