【问题标题】:Remote Execution from Powershell Script called from Team Foundation Build从 Team Foundation Build 调用的 Powershell 脚本的远程执行
【发布时间】:2013-04-23 11:29:12
【问题描述】:

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

首先我测试环境,使用 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 与开发环境机器 developmentserver01 连接 --> 这是有效的。

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

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

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

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

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

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

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

【问题讨论】:

    标签: sharepoint powershell tfs


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 是的,我也这么认为,但是如果我通过远程桌面连接进入 tfs 构建服务器,并使用 powershell 控制台执行这些步骤,它工作正常。就像执行脚本的用户不是 tfs 构建帐户一样。你知道一些命令来查看它在 poweshell 远程会话中连接的用户吗?我在没有凭据的情况下连接,因为我认为构建服务器使用 tfs build 的用户帐户,但也许服务器正在使用其他帐户连接到远程机器。
    • - 我使用 tfs build 的用户帐户将远程桌面连接到 tfs 机器 - 使用 powershell 控制台。它工作正常 - 我认为在远程服务器中启动脚本失败:1.- 也许使用没有凭据的脚本,power shell 不要使用远程桌面登录用户的凭据 2.- 构建过程就像1 如果您知道一些命令来查看它在远程 powershell 会话中连接的用户可能会有所帮助
    • 确认这是 Sharepoint Farm 上的安全问题,因为如果我使用其他用户,它工作正常。是时候查看 Sharepoint 的 Farm Administrators 组中的用户的问题了,因为我可以看到 tfs build 的用户,它已经添加了。谢谢
    • @JavierValero:评论 #2:这就是您需要的测试。使用 您的 帐户并不能证明任何事情,您需要使用自动构建使用的同一帐户。如果使用交互式会话但不使用批处理,则添加日志记录以查找第一个失败并专注于修复该问题(一次解决一个问题)。
    • 问题与 Sharepoint config DB 的权限有关,Tfs-Build 和 powershell 脚本都正常。
    猜你喜欢
    • 1970-01-01
    • 2022-10-12
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多