首页 > 解决方案 > 从 Powershell 脚本返回对象

问题描述

如何将一个对象从 powershell 返回到另一个 powershell 脚本?我希望使用 powerhsell 自动化我的一些部署,这样我们就可以更轻松地重复部署,而只需最少的人工干预。

我们的想法是为部署期间发生的各种进程建立一个脚本“库”,这些进程采用一系列参数,然后有一个主部署脚本,它只使用正在使用的文件的参数调用这些下标中的每一个。例如,对于一个部署,我可能必须在 Sql Server 上创建一个登录名,向数据库添加一些函数或存储过程,部署 SSRS 报告,更新 SSRS 的共享数据源以使用 AD 服务帐户等。

我可以将所有内容都塞进一个包含一堆函数的脚本中,但为了更容易重用,我想完成每个基本任务 - (运行 SQL 脚本,从 Secret Server 获取凭据,运行 SQL 脚本文件夹, 部署 SSRS Reports 等)并将其放置在自己的脚本中,并带有可以从我的主脚本中调用的参数。这将允许我有一个主脚本,它只使用参数调用每个任务脚本。但是,为了做到这一点,对于更新 AD 凭据之类的事情,我需要一种方法来返回函数当前从单独的脚本返回的 PScredential 对象。

标签: powershell

解决方案


您可以使用return关键字显式返回对象:

return $myObject

或者,您可以通过显式使用Write-Ouptut或通过将对象裸露在一行来隐式输出对象来隐式返回对象:

Write-Output $myObject

或者

$myObject

推荐阅读