Microsoft Project Server 2010 を使用しており、アクティブなプロジェクトに関連付けられている Project Web サイト (PWS) 内のいくつかの SharePoint リストを一括更新する必要があります。
プロジェクト ステータス カスタム フィールドに特定の値が含まれている場合、プロジェクトは「アクティブ」であると見なされます。
次の擬似コードのようなもの:
Get-AllProjectServerProjects |
Where-Object { ($_.CustomFields["Project Status"]) -eq 'active' } |
Foreach-Object {
$projectWebSite = $_.ProjectWebSiteURL
# Code here to update SharePoint list for this site
}
私は既に SharePoint リストを更新するコードを持っています。私が探しているのは、「アクティブな」プロジェクトに関連付けられたプロジェクト Web サイトを取得する方法です。
私の知る限り、Project Server データを公開する PS コマンドレットはありません。むしろ、PSI Web サービスを経由して ReadProjectList() メソッドを使用する必要があります。
ReadProjectList() を介してプロジェクトのリストを取得できましたが、それらが「アクティブな」プロジェクトであるかどうかを判断できず、プロジェクトの Web サイトへの直接リンクを見つけることができませんでした。
SharePoint コマンドレットを使用してすべてのプロジェクト Web サイトを反復処理し、プロジェクト名を一致させることはできますが、これは最適とは思えず、どのプロジェクトが「アクティブ」であるかを知る必要があります。