我想安装 PowerShell 库中的一些项目。但是,服务器无法访问互联网,甚至我们的测试服务器也无法访问。可以允许它们访问,但这样做的过程不切实际。
这入门页面显示模块和脚本分别安装到 $env:ProgramFiles\WindowsPowerShell\Modules 和 \Scripts。这是全部必需的吗,还是需要进行其他注册?
我的计划是下载我需要的脚本和模块,然后将它们复制到离线服务器上上述路径。这样可行吗?
答案1
通常,可以使用 xcopy 部署 PowerShell 模块,只需复制文件即可。您甚至不必使用$env:ProgramFiles\WindowsPowerShell\Modules
,将它们放在您喜欢的任何地方,只要您在 中拥有该位置即可$env:PSModulePath
。
但这仅在模块仅使用 PowerShell 代码文件和 .NET 程序集时才有效。可能存在使用 COM 组件或其他依赖项的模块,这些依赖项必须在每台计算机上安装。
我使用的所有模块都可以在 xcopy 部署中正常工作,但是为了确保万无一失,您应该只测试您正在使用的模块。
您还可以考虑在您的组织内部建立自己的 PowerShell 库并从那里部署模块。