powershell - 存储和重复使用加载了 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 会话存储在某个对象或会话变量或文件等中?
解决方案
PowerShell 具有配置文件的概念。您可以设置配置文件以在每次创建 PowerShell 会话时导入 PowerCLI。
与 vCenter 服务器的连接将是困难的部分。这些会话在不活动期(通常是几个小时)以及总时间(几天)之后超时。
如果您确实想尝试重用会话,PowerCLI 确实允许这样做,Session
参数可通过Connect-VIServer
. 会话 ID 可通过以下全局变量访问:$global:DefaultVIServer.SessionId
希望这会有所帮助。
推荐阅读
- node.js - 如何在 ssh2-sftp-client 中使用 npm cli-progress
- c++ - ++x 和 x++ 如何在 C++ 中的方程式中共同发挥作用
- cudd - 使用多值 DD 求解多状态可靠性量化
- laravel - Laravel - 在 GoDaddy 服务器上创建动态通配符子域
- python - django rest框架中的“getattr():属性名必须是字符串”
- java - 在httpclient jar中通过SSLConnectionSocketFactory连接时出现NoSuchMethodError,如何用新的httpclient jar覆盖旧的gwt httpclient
- proxy - Apache 反向代理适用于“/”,但不适用于“/foo”
- swiftui - 如何在 SwiftUI 中删除 Navigation Link > 符号?
- android - 在android中使用指南的缺点?
- c# - 内容管理器未检测到 Monogame 自定义导入器/处理器