PowerShell 2.0 實踐(十三)管理 TFS 2010(3)
本次我們繼續(xù)深入探討TFS 2010的對象模型,通過PowerShell簡潔的進行表達。
本系列所有腳本均在Windows Server 2008 R2 DataCenter (PowerShell 2.0) + PowerGUI Script Editor Free Edition x64中測試通過。
TFS 2010系列使用了TFS 2010 Ultimate x64、TFS 2010 Power Tools April 2010。
轉(zhuǎn)載請注明出處:http://www.rzrgm.cn/brooks-dotnet/archive/2010/10/12/1849182.html
1、獲取TFS 2010中所有的Team Project Collection:
# 添加 TFS 2010 客戶端對象模型程序集
[Reflection.Assembly]::Load("Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
# 注意替換為你本機 TFS 2010 的URL
$instanceBaseUrl = "http://brookspcnb:8080/tfs/";
$tfsServer = New-Object Microsoft.TeamFoundation.Client.TfsConfigurationServer $instanceBaseUrl;
# 調(diào)用 ITeamProjectCollectionService
$tpcSvc = $tfsServer.GetService([Microsoft.TeamFoundation.Framework.Client.ITeamProjectCollectionService]);
foreach($co in $tpcSvc.GetCollections())
{
Write-Host $co.Name
}
運行結果:
可以看到,和GUI中的一致:
腳本中調(diào)用了客戶端的ITeamProjectCollectionService服務,其實就是個接口,除此之外,TFS 2010還提供了很多其他的服務:(摘自MSDN)
Service | TfsConfigurationServer (server-level) | TfsTeamProjectCollection (collection-level) |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| ||
|
| |
| ||
|
| |
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
2、獲取一個Team Project Collection中所有的Team Project及其簽入日期:
# 添加 TFS 2010 客戶端對象模型程序集
[Reflection.Assembly]::Load("Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
$url = New-Object -TypeName Uri -ArgumentList "http://brookspcnb:8080/tfs/DefaultCollection"
$project = New-Object -TypeName Microsoft.TeamFoundation.Client.TfsTeamProjectCollection -ArgumentList $url
Get-TfsChildItem -Server $project | Select ServerItem, CheckinDate
運行結果:
GUI結果:
3、獲取指定Project Collection的更改集ChangeSet:
# 添加 TFS 2010 客戶端對象模型程序集
[Reflection.Assembly]::Load("Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
$url = New-Object -TypeName Uri -ArgumentList "http://brookspcnb:8080/tfs/DefaultCollection"
$co = New-Object -TypeName Microsoft.TeamFoundation.Client.TfsTeamProjectCollection -ArgumentList $url
Get-TfsChangeset -Server $co –Latest
運行結果:
小結:
本次測試了基本的命令,如查詢Team Project Collection、Team Project、ChangeSet等,可以看到都是要使用TFS 2010對象模型的。下一次我們將使用PowerShell創(chuàng)建Team Project Collection、Team Project等,以及添加更改集、提交掛起的更改等。




































浙公網(wǎng)安備 33010602011771號