从PowerShell 3.0远程部署WSP

时间:2014-05-27 19:57:49

标签: powershell powershell-v3.0 powershell-remoting wsp

我有这个大型应用程序,我使用Windows RM 3.0将数据库,SSIS包和其他东西部署到多个不同的服务器,它工作得很好。有人要求将商业智能SharePoint网站的品牌更改添加到此流程中。所以我创建了一个自定义构建脚本来执行此操作,并设置Win RM以在Sharepoint服务器上从PowerShell运行此命令

Install-SPSolution –Identity Payload\SharepointDeploy.wsp –WebApplication http://localhost/ -GACDeployment

当我运行时,我收到以下错误

  

Install-SPSolution:Microsoft .Net Runtime版本4.0.30319.18444不支持Microsoft SharePoint。

阅读,它似乎是一个PowerShell 3.0问题,当在2.0中运行时,它工作正常。但是,我现有的流程要求PowerShell 3.0正常运行。反正有没有使用3.0?或者我可以使用Invoke-Command或其他东西来启动2.0实例?如果需要,我可以提供更多细节。

2 个答案:

答案 0 :(得分:1)

您可以构建一个自定义端点,该端点将运行所需的PowerShell版本。这样你就不必弄乱你可能想要保留默认端点的默认端点

这将要求您使用类似的方式连接到新端点 new-pssession -computername" SharePoint01" -configurationName" psv2"。

使用以下cmdlet构建和终结:

New-PSSessionConfigurationFile -Path "psv2session.pssc"

然后使用该配置使用此cmdlet注册端点:

Register-PSSessionConfiguration -Name psv2 -Path psv2session.pssc –ShowSecurityDescriptorUI

这很容易做到,这个链接提供了很好的设置介绍: http://blogs.technet.com/b/heyscriptingguy/archive/2014/04/02/build-constrained-powershell-endpoint-using-configuration-file.aspx(虽然博客处理受限制的端点,但teqnique基本上与您需要做的相同)

答案 1 :(得分:0)

我遇到了与控制台应用程序相同的问题,我将框架版本从项目属性页面的4.5减少到3.5,我的工作非常完美!