首页 > 解决方案 > 存储和重复使用加载了 PowerCLI 模块并连接到 vCenter Server 的 PowerShell 会话

问题描述

我有一个要求,我需要执行 3 个 PowerShell 脚本,每个脚本连接到 PowerCLI,然后连接到 VCenter Server 并执行代码。

Script-1 的输出是 Script-2 的输入,Script-2 的输出是 Script-3 的输入。

我面临的问题是在每个脚本中加载 PowerCLI 模块所花费的时间,然后是在每个脚本中连接到 vCenter Server 所花费的时间。

所有 3 个脚本都按顺序执行,但有时它们可​​能都运行在同一台服务器或不同的服务器上。

有没有办法保存由 Script-1 创建的 PowerShell 会话(加载 PowerCLI 模块以及与 vCenter 的连接保持不变),以便可以使用相同的会话

通过 Script-2 和 Script-3 ?

我知道这听起来可能有点疯狂,但是是否有解决方案或解决方法将 PowerShell 会话存储在某个对象或会话变量或文件等中?

标签: powershellpowerclivcenter

解决方案


PowerShell 具有配置文件的概念。您可以设置配置文件以在每次创建 PowerShell 会话时导入 PowerCLI。

与 vCenter 服务器的连接将是困难的部分。这些会话在不活动期(通常是几个小时)以及总时间(几天)之后超时。

如果您确实想尝试重用会话,PowerCLI 确实允许这样做,Session参数可通过Connect-VIServer. 会话 ID 可通过以下全局变量访问:$global:DefaultVIServer.SessionId

希望这会有所帮助。


推荐阅读