2013-04-23 45 views
3

我尝试部署与SharePoint脚本SharePoint解决方案,这种方法:远程执行从团队基础称为构建

首先我测试的环境中,使用Windows PowerShell控制台

New-PSSession -ComputerName developmentserver01 
Enter-PSSession -computername developmentserver01 
d: 
cd d:\deploymentscripts 
.\deploysharepoint.ps1 

然后我开始自动化:

1.- TFS运行一个构建,在构建服务器本地的末尾调用“deploy.ps1”。 --->这是工作。

2.- desploy1.ps1将drop文件复制到开发环境developmentserver01共享文件夹中。

3.-在复制文件后,使用来自powershell的远程连接命令将deploy1.ps1连接到开发环境machine developmentserver01 - >这是行得通的。

4.-此步骤失败,在此步骤中,我尝试执行在步骤2中已在开发环境计算机中复制的部署脚本deploySharepoint.ps1。 首先使用脚本内部的命令(如在powershell控制台中)但我看到这些命令运行内部的TFS建机不在,我丝毫连接远程连接

d: 
cd d:\deploymentscripts 
.\deploysharepoint.ps1 

后来使用不同的选项机器(调用命令,...)仅此optionk工作:

Invoke-Command -computername developmentserver01 -scriptblock{d:\DeploymentScripts\deploysharepoint.ps1 -solutionNames @("parameter1")} 

问题在于我认为invoke-command并不像使用powershell控制台的命令那样工作,因为脚本显示用户不存在访问sharepoint场的权限的错误。

如果我运行脚本与远程会话在电源shell控制台中显示在帖子的开头,所有的事情都可以正常工作。

如何从脚本desploy.ps1的远程会话运行远程脚本deploysharepoint.ps1,就像使用PowerShell控制台一样?

回答

1

invoke-command是正确的答案。但是:

该脚本显示错误,表明用户不具有访问sharepoint的Farm的权限。

如果3脚本被TFS Build的用户帐户调用(本地或远程),那么该帐户用于确定权限。

因此,将用于运行构建的帐户更改为具有正确的SharePoint权限的帐户,或者为TFS Build帐户提供必要的权限。

+0

是的,我认为是相同的,但如果我输入远程桌面连接到tfs构建服务器,并执行powershell控制台的步骤,它的工作正常。这就像执行脚本的用户不是tfs build帐户。你知道一些命令来查看用户它在Poweshell远程会话中连接吗?我没有证书连接,因为我认为构建服务器使用tfs构建的用户帐户,但也许服务器连接到远程机器与其他帐户。 – 2013-04-23 12:57:18

+0

- 我使用tfs build的用户帐户 - 使用powershell控制台连接远程桌面到tfs机器。it's工作正常 - 在远程服务器上启动脚本失败 我想: 1.-也许使用没有凭据的脚本,电源外壳请勿使用与登录用户的凭证与远程桌面 2 .-构建过程就像1 如果你知道一些命令来查看用户,它在远程PowerShell会话中连接可能会有所帮助 – 2013-04-23 13:09:32

+0

确认它是一个安全问题在Sharepoint场,因为如果我使用其他用户它的工作正常。 现在是时候在Sharepoint的Farm Administrators组中查看用户问题了,因为我可以看到tfs build的用户已经添加了。 谢谢 – 2013-04-23 13:33:53