PowerShell 2.0實踐(十)管理TFS 2010 (1)
近日工作中設計了一套TFS自定義流程,使用了一些命令行工具,這兩天看了看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。
- TFS 2010 新特性(原文地址)
Visual Studio Team Foundation Server 2010
- Work Item Tracking and Project Management
- New MSF templatesfor Agile and CMMI (V 5.0)
- Hierarchical Work Items
- Custom Work Item Link Types
- Ready to use Excel agile project management workbooks for managing your backlogs (including capacity planing)
- Convert Work Item query to an Excel report
- MS Excel integration
- Support for Work Item hierarchies
- Formatting is preserved after doing a 'Refresh'
- MS Project integration
- Hierarchy and successor/predecessor info is now synchronized
- NEW: Test Case Management
- Version Control
- Public Workspaces
- Branch & Merge Visualization
- Tracking of Changesets & Work Items
- Gated Check-In
- Team Build
- Build Controllers and Agents
- Workflow 4-based build process
- NEW: Lab Management (only a pre-release is avaiable at the moment!)
- Project Portal & Reporting
- Dashboards (on SharePoint Portal)
- Burndown Chart
- TFS Web Parts (to show data from TFS)
- Topology enhancements
- Application tier network load balancing (NLB)
- SQL Server scale out
- Improved Sharepoint flexibility
- Report Server flexibility
- Zone support
- Kerberos support
- Separation of TFS and SQL administration
- Setup
- Separate install from configure
- Improved installation wizards
- Optional components
- Simplified account requirements
- Improved Reporting Services configuration
- Setup consolidation
- Upgrading from previous TFS versions
- Improved IIS flexibility
- Administration
- Consolidation of command line tools
- User rename support
- Project Collections
- Archive/restore individual project collections
- Move Team Project Collections
- Server consolidation
- Team Project Collection Split
- Team Project Collection Isolation
- Server request cancellation
- Licensing: TFS server license included in MSDN subscriptions
- TFS 2010體系結構
- TFS 2010對象模型
通過 Team Foundation Server 的對象模型,Team Foundation 的邏輯層可以進行通信,軟件集成商及其他公司可以自定義和擴展 Team Foundation Server 功能。
Team Foundation Server 的對象模型是一組包含下列接口的托管 API:
- Team Foundation Framework 服務
- 管理服務
- 事件服務
- 團隊項目集合服務
- 注冊服務
- 安全性服務
- 位置服務
- 標識管理服務
- 目錄服務
- 作業服務
- 屬性服務
- 版本控制對象模型
- 工作項跟蹤對象模型
- Team Foundation Build 對象模型
- 使用PowerShell管理TFS 2010
4.1、準備工作
要使用PowerShell管理TFS 2010,必須要安裝TFS 2010的Power Tools,可以在這里下載。
下載后安裝在32位操作系統上沒有問題,在64位操作系統下,需要手動修復下注冊表。
將下面的代碼保存為.reg文件,注意將標記為紅色的替換你本機TFS 2010 Power Tools的安裝目錄:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.TeamFoundation.PowerShell]
"PowerShellVersion"="2.0"
"Vendor"="Microsoft Corporation"
"Description"="This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"VendorIndirect"="Microsoft.TeamFoundation.PowerShell,Microsoft"
"DescriptionIndirect"="Microsoft.TeamFoundation.PowerShell,This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"Version"="10.0.0.0"
"ApplicationBase"="E:\\Dotnet\\Microsoft Team Foundation Server 2010 Power Tools"
"AssemblyName"="Microsoft.TeamFoundation.PowerTools.PowerShell, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ModuleName"="E:\\Dotnet\\Microsoft Team Foundation Server 2010 Power Tools\\Microsoft.TeamFoundation.PowerTools.PowerShell.dll"
"CustomPSSnapInType"="Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"
在64位系統下,導入該注冊表后,就可以添加Snapin了:
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
Snapin是一組.NET程序集,或者程序集集合,其中包含了Cmdlets、提供程序、類型擴展和格式元數據。
查看TFS 2010 Snapin中包含哪些命令:
Get-Command -Module Microsoft.TeamFoundation.PowerShell
運行結果:
4.2、連接TFS 2010
Clear-Host
$ServerUrl = "http://brookspcnb:8080/tfs"
Get-TfsServer -Name $ServerUrl
運行結果:
IIS中照例會有TFS 2010的網站:
TFS 2010 Web Access和2008時類似:
小結:
本次對TFS 2010進行了一次概括,熟悉了下其體系結構與對象模型,搭建了64位操作系統下的開發、測試環境。后續篇章會深入研究TFS 2010的對象模型,測試一下常用的PowerShell命令。我們也可以嘗試著擴充一下TFS 2010的PowerShell命令,自己動手開發印象會更加深刻。TFS 2010的改進很大,除了對象模型、體系結構外,TFPT等命令行工具也進行了更新,后面逐一進行測試。

浙公網安備 33010602011771號