Deployment 使用Powershell部署应用程序

Deployment 使用Powershell部署应用程序,deployment,powershell,Deployment,Powershell,我开发了一个Powershell脚本,用于将更新部署到一套应用程序;包括SQL Server数据库更新 接下来,我需要一种在100多台服务器上执行这些脚本的方法;无需手动连接到每个服务器。“带远程处理的Powershell v2”不是选项,因为它仍在CTP中 带WinRM的Powershell v1看起来最有希望,但我无法从脚本中获得反馈。脚本会执行,但我需要知道异常情况。脚本创建了一个日志文件,有没有办法将日志文件的内容发送回“客户端”(进行远程呼叫的本地计算机)?快速回答是否定的。长版本是可

我开发了一个Powershell脚本,用于将更新部署到一套应用程序;包括SQL Server数据库更新

接下来,我需要一种在100多台服务器上执行这些脚本的方法;无需手动连接到每个服务器。“带远程处理的Powershell v2”不是选项,因为它仍在CTP中


带WinRM的Powershell v1看起来最有希望,但我无法从脚本中获得反馈。脚本会执行,但我需要知道异常情况。脚本创建了一个日志文件,有没有办法将日志文件的内容发送回“客户端”(进行远程呼叫的本地计算机)?

快速回答是否定的。长版本是可能的,但会涉及很多黑客。去年,我使用PowerShell 2开发了非常类似的部署脚本/系统。远程处理功能是我们容忍CTP状态的主要原因。WinRM的PowerShell 1充其量是脆弱的,正如您所说,除了ok或failed之外,没有真正的反馈


我考虑的替代方案包括使用,这是非常不标准的,可能会被防火墙阻止。另一种方法涉及使用系统管理工具,如MS的system Center,但这只是小题大做。所以你必须选择你的毒药…

快速答案是否定的。长版本是可能的,但会涉及很多黑客。去年,我使用PowerShell 2开发了非常类似的部署脚本/系统。远程处理功能是我们容忍CTP状态的主要原因。WinRM的PowerShell 1充其量是脆弱的,正如您所说,除了ok或failed之外,没有真正的反馈


我考虑的替代方案包括使用,这是非常不标准的,可能会被防火墙阻止。另一种方法涉及使用系统管理工具,如MS的system Center,但这只是小题大做。因此,您必须选择您的毒药…

请对此发表评论:捕获powershell输出的最简单方法是使用start-transcript cmdlet将控制台输出传输到文件。我们在所有脚本的开头都有一个小片段,它将带有控制台输出的日志文件从每个脚本发送到中心文件共享,并使用脚本名称和执行日期命名日志文件,以便我们了解发生了什么。将所有这些日志文件通过管道传输到数据库进行进一步处理也不太难。可能不会解决您所有的问题,但肯定会在“获取数据”部分有所帮助

致以最良好的祝愿,
Trond

请对此发表评论:捕获powershell输出的最简单方法是使用start-transcript cmdlet将控制台输出传输到文件。我们在所有脚本的开头都有一个小片段,它将带有控制台输出的日志文件从每个脚本发送到中心文件共享,并使用脚本名称和执行日期命名日志文件,以便我们了解发生了什么。将所有这些日志文件通过管道传输到数据库进行进一步处理也不太难。可能不会解决您所有的问题,但肯定会在“获取数据”部分有所帮助

致以最良好的祝愿, 特隆