这不是对你的问题的直接回答,但是下面的内容可能足以让你开始为自己找出答案。我想你可能会利用$version_control_server
##
# http://blog.majcica.com/2015/11/15/powershell-tips-and-tricks-retrieving-tfs-collections-and-projects/
# this will get you a list of tfs projects hosted on a tfs server
##
# Add-Type -AssemblyName "Microsoft.TeamFoundation.Client, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Add-Type -Path 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Client.dll'
$uri = 'http://host:8080/tfs'
$tfsConfigurationServer = [Microsoft.TeamFoundation.Client.TfsConfigurationServerFactory]::GetConfigurationServer($uri)
$tpcService = $tfsConfigurationServer.GetService('Microsoft.TeamFoundation.Framework.Client.ITeamProjectCollectionService')
$sortedCollections = $tpcService.GetCollections() | Sort-Object -Property Name
#
$collection = $sortedCollections[0]
$collectionUri = $uri + '/' + $collection.Name
$tfsTeamProject = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($collectionUri)
$cssService = $tfsTeamProject.GetService('Microsoft.TeamFoundation.Server.ICommonStructureService3')
$sortedProjects = $cssService.ListProjects() | Sort-Object -Property Name
##
# https://lajak.wordpress.com/2013/01/28/tfs-2012-api-find-all-solutions-in-source-control/
# this will take your list of projects and get list of solution paths within those projects
##
Add-Type -Path 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.VersionControl.Client.dll'
$version_control_server = $tfsTeamProject.GetService('Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer')
$solution_items = $version_control_server.getitems(
'$/*',
[Microsoft.TeamFoundation.VersionControl.Client.VersionSpec]::Latest,
[Microsoft.TeamFoundation.VersionControl.Client.RecursionType]::Full,
[Microsoft.TeamFoundation.VersionControl.Client.DeletedState]::NonDeleted,
[Microsoft.TeamFoundation.VersionControl.Client.ItemType]::File
)
$path_array = $solution_items.items | foreach-object { $_.serveritem }
($path_array -join "`r`n") | out-file 'C:\tfs_paths.txt'
##