3

我正在尝试使用共享点脚本部署共享点解决方案,方法如下:

首先我测试环境,使用 windows powershell 控制台

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

然后我开始自动化:

1.- TFS 运行构建,在构建服务器中本地调用最后调用“deploy.ps1”。---> 这是有效的。

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

3.- 复制文件后,使用 powershell 的远程连接命令 deploy1.ps1 与开发环境机器 developmentserver01 连接 --> 这是有效的。

4.-此步骤失败,在此步骤中,我尝试执行已在步骤 2 中复制到开发环境机器中的部署脚本 deploySharepoint.ps1。首先使用脚本中的命令,如在 powershell 控制台中,但我看到命令在 TFS 构建机器中运行,而不是在我通过远程连接连接的机器中

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

稍后使用不同的选项(invoke-command,...)只有这个 optionk 有效:

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

问题是我认为调用命令不像使用 powershell 控制台的命令那样工作,因为脚本显示用户没有访问共享点农场的权限的错误。

如果我在 Power Shell 控制台中使用远程会话运行脚本,如文章开头所示,一切正常。

如何使用脚本 desploy.ps1 的远程会话运行远程脚本 deploysharepoint.ps1,例如使用 powershell 控制台?

4

1 回答 1

1

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

该脚本显示用户没有访问共享点农场的权限的错误。

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

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

于 2013-04-23T12:15:44.503 回答