我有一个要求,我需要执行3个PowerShell脚本,每个脚本连接到PowerCLI,然后连接到VCenter服务器,并执行代码。
Script-1的输出是Script-2的输入,Script-2的输出是Script-3的输入。
我面临的问题是在每个脚本中加载PowerCLI模块所花费的时间,然后在每个脚本中连接到vCenter服务器所花费的时间。
所有3个脚本都是按顺序执行的,但有时它们都可以在同一服务器上运行,或者在不同的服务器上运行。
有没有一种方法可以保存由脚本-1创建的PowerShell会话(其中加载了PowerCLI模块,并且与vCenter的连接保持不变),以便可以使用该会话
通过Script-2和Script-3?
我知道这听起来有点疯狂,但是有没有一种解决方案或变通方法来将PowerShell会话存储在某个对象、会话变量或文件等中?
发布于 2020-04-17 07:21:12
PowerShell有配置文件的概念。您可以将配置文件设置为在每次创建PowerShell会话时导入PowerCLI。
到vCenter服务器的连接将是最困难的部分。这些会话在不活动的时间段(通常是几个小时)以及总时间(几天)之后超时。
如果您确实想尝试重用会话,PowerCLI允许这样做,并通过Connect-VIServer提供Session参数。可以通过以下全局变量访问会话ID:$global:DefaultVIServer.SessionId
希望这能有所帮助。
https://stackoverflow.com/questions/61233079
复制相似问题