2013-04-23 53 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