私は離れSQLからの滞在をお勧めしたいとTFSのAPIを使用します。ですから、フィールドにエリアのパスを選択しようとすることができます。次のPowerShellは、TFSクライアントの名前空間を呼び出し、コレクションとプロジェクトを返します。
#region Get-TfsSummary
function Get-TfsSummary{
param(
[parameter(Position=0,HelpMessage=' Full server name. e.g. tfsServer.domain.net',Mandatory)]
[string]
$serverFQDN, # eg 'tfsServer.domain.net'
[parameter(Position=1,HelpMessage=' port used to access the TFS server e.g. 8080')]
[string]
$serverPort, # eg '8080'
[parameter(Position=2,HelpMessage=' The root virtual directory for TFS. Default is tfs e.g. tfs ')]
[string]
$tfsRootNode # eg 'tfs'
)
Add-Type -AssemblyName "Microsoft.TeamFoundation.Client, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
$tfsUri = 'http://' + $serverFQDN + ':' + $serverPort +'/' + $tfsRootNode + '/'
$tfsConfigurationServer = [Microsoft.TeamFoundation.Client.TfsConfigurationServerFactory]::GetConfigurationServer($tfsUri)
$tpcService = $tfsConfigurationServer.GetService("Microsoft.TeamFoundation.Framework.Client.ITeamProjectCollectionService")
$sortedCollections = $tpcService.GetCollections() | Sort-Object -Property Name
$numberOfProjects = 0
$numberOfStoppedCollections = 0
$numberOfStartedProjects = 0
$numberOfStoppedProjects = 0
$isStopped = ''
foreach($collection in $sortedCollections) {
$collectionUri = $tfsUri + "/" + $collection.Name
$tfsTeamProject = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($collectionUri)
try {
$cssService = $tfsTeamProject.GetService("Microsoft.TeamFoundation.Server.ICommonStructureService4")
}catch{}
$sortedProjects = $cssService.ListProjects() | Sort-Object -Property Name
if($collection.State -eq 'Stopped'){
$isStopped = ' but is stopped'
$numberOfStoppedCollections++
$numberOfStoppedProjects += $sortedProjects.Count
}
Write-Host "`n" $collection.Name "(" $collection.Id ")- contains" $sortedProjects.Count "project(s)$isStopped"
$isStopped = ''
foreach($project in $sortedProjects)
{
$numberOfProjects++
Write-Host (" - " + $project.Name + " (" + $project.Uri + ")")
}
}
$numberOfStartedProjects = $numberOfProjects - $numberOfStoppedProjects
Write-Host
Write-Host "Number of stopped collections " $numberOfStoppedCollections
Write-Host "Total number of project collections " $sortedCollections.Count
Write-Host "Online projects " $numberOfStartedProjects
Write-Host "Total number of projects " $numberOfProjects
}
#endregion Get-TfsSummary
※**はTFS運用店舗に対しては報告しないでください。報告のためにサポートされる唯一のオプションは 'Tfs_Warehouse'データベースとAnalysisキューブです。 –
ええ、TFS_WareHouseからのみすべてのデータを取得しています。しかし、私はTFS_WareHouseでチーム名のデータポイントを見つけることができません。私がどこでそれを得ることができるかお勧めできますか? –
同じ質問です。何かを見つけましたか? – russds