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。

 

  1. 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
  • 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
  • LicensingTFS server license included in MSDN subscriptions

 

  1. TFS 2010体系结构

PowerShell 2.0实践(十)管理TFS 2010 (1)_第1张图片

PowerShell 2.0实践(十)管理TFS 2010 (1)_第2张图片

 

  1. TFS 2010对象模型

通过 Team Foundation Server 的对象模型,Team Foundation 的逻辑层可以进行通信,软件集成商及其他公司可以自定义和扩展 Team Foundation Server 功能。

Team Foundation Server 的对象模型是一组包含下列接口的托管 API

  • Team Foundation Framework 服务
    • 管理服务
    • 事件服务
    • 团队项目集合服务
    • 注册服务
    • 安全性服务
    • 位置服务
    • 标识管理服务
    • 目录服务
    • 作业服务
    • 属性服务
  • 版本控制对象模型
  • 工作项跟踪对象模型
  • Team Foundation Build 对象模型

 

  1. 使用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

运行结果:

PowerShell 2.0实践(十)管理TFS 2010 (1)_第3张图片

 

4.2、连接TFS 2010

Clear-Host

$ServerUrl = "http://brookspcnb:8080/tfs"

Get-TfsServer -Name $ServerUrl

运行结果:

PowerShell 2.0实践(十)管理TFS 2010 (1)_第4张图片

 

IIS中照例会有TFS 2010的网站:

PowerShell 2.0实践(十)管理TFS 2010 (1)_第5张图片

 

TFS 2010 Web Access和2008时类似:

PowerShell 2.0实践(十)管理TFS 2010 (1)_第6张图片

 

小结:

本次对TFS 2010进行了一次概括,熟悉了下其体系结构与对象模型,搭建了64位操作系统下的开发、测试环境。后续篇章会深入研究TFS 2010的对象模型,测试一下常用的PowerShell命令。我们也可以尝试着扩充一下TFS 2010的PowerShell命令,自己动手开发印象会更加深刻。TFS 2010的改进很大,除了对象模型、体系结构外,TFPT等命令行工具也进行了更新,后面逐一进行测试。

你可能感兴趣的:(powershell)