Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 从Team Foundation构建调用的PosiScript脚本的远程执行_Sharepoint_Powershell_Tfs - Fatal编程技术网

Sharepoint 从Team Foundation构建调用的PosiScript脚本的远程执行

Sharepoint 从Team Foundation构建调用的PosiScript脚本的远程执行,sharepoint,powershell,tfs,Sharepoint,Powershell,Tfs,我正在尝试使用sharepoint脚本部署sharepoint解决方案,方法如下: 首先,我使用windows powershell控制台测试环境 New-PSSession -ComputerName developmentserver01 Enter-PSSession -computername developmentserver01 d: cd d:\deploymentscripts .\deploysharepoint.ps1 然后我启动自动化: 1.-TFS运行一个生成,该生成在

我正在尝试使用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将放置文件复制到开发环境developmentserver01共享文件夹

3.-复制文件后,使用powershell-->中的远程连接命令,将deploy1.ps1连接到开发环境计算机developmentserver01,此操作正常

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

d:
cd d:\deploymentscripts
.\deploysharepoint.ps1
稍后使用不同的选项(调用命令,…),只有此选项k起作用:

Invoke-Command -computername developmentserver01 -scriptblock{d:\DeploymentScripts\deploysharepoint.ps1 -solutionNames @("parameter1")}
问题在于,我认为invoke命令的工作方式与使用powershell控制台的命令不同,因为脚本显示了一个错误,即用户没有访问sharepoint场的权限

如果我在powershell控制台中运行带有远程会话的脚本(如本文开头所示),那么一切都可以正常工作


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

调用命令
是正确的答案。但是:

脚本显示错误,用户没有访问sharepoint场的权限

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


因此,要么将用于运行生成的帐户更改为具有正确SharePoint权限的帐户,要么为TFS生成帐户授予必要的权限。

是的,我也这么认为,但如果我使用远程桌面连接进入TFS生成服务器,并使用powershell控制台执行步骤,则可以正常工作。就像执行脚本的用户不是tfs构建帐户一样。您知道一些命令来查看poweshell远程会话中连接的用户吗?。我连接时没有凭据,因为我认为生成服务器使用tfs生成的用户帐户,但可能服务器正在使用其他帐户连接到远程计算机。-我使用tfs生成的用户帐户连接到远程桌面到tfs计算机-使用powershell控制台。它工作正常-在远程服务器中启动脚本失败,我认为:1。-可能在没有凭据的情况下使用脚本,power shell不使用远程桌面2的已登录用户的凭据。-构建过程类似于1。如果您知道某些命令可以查看远程powershell会话中连接的用户,则可以帮助确认Sharepoint场上存在安全问题,因为如果我使用其他用户,它工作得很好。是时候回顾一下sharepoint服务器场管理员组中的用户的问题了,因为我可以看到tfs构建的用户已经添加了。Thanks@JavierValero:评论2:这就是你需要的测试。使用您的帐户证明不了什么,您需要使用与自动构建使用的帐户相同的帐户。如果使用交互式会话而不是批处理,则添加日志记录以查找第一个失败并集中精力解决该问题(一次解决一个问题)。问题与Sharepoint配置数据库上的权限有关,Tfs生成和powershell脚本正常。