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 ドロップ ファイルを開発環境の 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")}

スクリプトは、ユーザーが共有ポイントのファームにアクセスする権限を持っていないというエラーを表示するため、invoke-command が powershell console を使用するコマンドのように機能しないと思うのが問題です。

投稿の冒頭で示したように、Power Shell コンソールでリモート セッションを使用してスクリプトを実行すると、すべて正常に動作します。

powershell コンソールを使用するように、スクリプト desploy.ps1 からのリモート セッションでリモート スクリプト deploysharepoint.ps1 を実行するにはどうすればよいですか?

4

1 に答える 1

1

invoke-commandが正解です。しかし:

スクリプトは、ユーザーが共有ポイントのファームにアクセスする権限を持っていないというエラーを表示します。

the3 スクリプトが TFS ビルドのユーザー アカウントによって (ローカルまたはリモートで) 呼び出されている場合、そのアカウントを使用してアクセス許可が決定されます。

そのため、ビルドの実行に使用するアカウントを適切な SharePoint 権限を持つアカウントに変更するか、TFS ビルド アカウントに必要な権限を付与してください。

于 2013-04-23T12:15:44.503 に答える