我从 VMware 的网站下载了 PowerCLI。
https://my.vmware.com/web/vmware/details?downloadGroup=PCLI650R1&productId=614
下载后,会有一个可执行文件 PowerCLI.exe。如果我运行这个可执行文件,我会得到一个终端(不是 cmd/powershell),其中会弹出所有可用的 PowerCLI 命令。
问题是,当我打开真正的 PowerShell 终端时,这些命令就会消失并且不可用。
在查看从 VMware 网站下载的文件夹时,我注意到一个名为“initizilize_environment.ps1”的脚本,运行此脚本后(大约 5-10 分钟),我再次可以访问 PowerCLI 命令。问题是,一旦关闭 PowerShell 终端,我就无法访问这些命令。这是一个大问题,因为我正在尝试自动化虚拟环境,而等待 5-10 分钟则失去了意义。
我将通过以下方式安装 PowerCLI,但由于安全限制,机器无法访问互联网。
Save-Module -Name VMware.PowerCLI -Path <path>
任何帮助深表感谢。
答案1
通过连接互联网的设备保存。
然后从该系统模块文件夹复制它...
然后通过 USB/CD/DVD 手动将模块文件夹复制到未连接的主机,无论您使用哪种方式。
- 雷蒙德跟进 - 巩固我的后续评论。
正如我所说,链接只是一个寻找模块位置的指针。
至于对此的反对票,不,我没有低估,因为我已经做过这个以及其他 3rdP 模块。即使您使用了有关该主题的 VMware 文档,您也应该使用链接,因为他们为您提供的所有手动安装/查找/复制和粘贴步骤,对于此问答来说都是不必要的操作。
因为它谈到了删除旧版本以及其他步骤。
然而,最终,它仍然是在连接的系统上安装并复制粘贴,以及在断开连接的系统上执行一些其他手动步骤。
但既然你认为这并没有什么不妥,而且链接会消失,那么好吧:
访问 PowerCLI 模块
https://blogs.vmware.com/PowerCLI/2018/01/powercli-offline-installation-walkthrough.html
使用 PowerShell 5.x 的在线系统:
•打开 PowerShell
•使用“Save-Module”cmdlet 将 PowerCLI 模块下载到本地。
例子:
保存模块-名称 VMware.PowerCLI-路径 C:\Path\To\Destination\Folder
•如果需要,更新 NuGet 提供程序
•如有要求,请相信
名为 PSGallery 的“不受信任的存储库”注意:这是本地系统信任,与 SSL 证书无关
•将下载的模块文件夹复制到离线系统可以访问的位置。
例如:USB 闪存驱动器、内部文件共享等。
将 PowerCLI 添加到离线系统
现在是时候将 PowerCLI 模块放到离线系统上了。为了利用模块自动加载的神奇功能,我们需要将下载的文件夹复制并粘贴到 PSModulePath 变量中列出的某个位置。
默认情况下,PSModulePath 变量包含以下目录:•$home\Documents\WindowsPowerShell\Modules
•$pshome\模块
就这样!打开 PowerShell 会话并像以前一样开始使用 PowerCLI 命令!