2012-08-05 30 views
0

我想將我的工具移動到powershell,this可以在PowerShell中完成嗎?我真正感興趣的位爲:通過powershell獲取所有tfs警報訂閱的列表(通過powershell獲得.Net程序集?)

IEventService es = tfs.GetService(typeof(IEventService)) as IEventService; 
List<Subscription> ls = es.GetAllEventSubscriptions().ToList(); 

歡呼

編輯:我真正想做的事情可能會使用來自PowerShell中的.NET程序集,然後這可能是Using .NET library from PowerShell

重複

回答

1

下面是PowerShell函數中的一個TFS API,我很早以前就在博客中發現了這個函數,可以幫助您入門。我已經將它發佈到GitHub Gist上。基本上你確保你已經裝載了TFS組件到AppDomain中,然後你可以添加任何TFS服務接口要的對象,他們就像你在任何C#應用程序只是操作等

https://gist.github.com/3288447

一旦你的TFS對象從方法返回的要義上面,你可以像這樣在加載服務工作:

#use work item service 
$tfs = get-tfs $env:TFSSERVERURL -silent 
$project = $tfs.wit.Projects | ?{ $_.Name -eq $projectName} 
#todo - replace with text for query or file read -- this is deprecated 
$query = $project.StoredQueries | ?{ $_.Name -eq 'Active Bugs' } 
$queryText = $query.QueryText.Replace("@project","'$projectName'") 

$results = $tfs.wit.Query($queryText) 
#do something with the results... 

在您的要求上面你可以改變一開始TFS方法添加你的服務接口加載到集合上,然後在.NET方法上運行,就像我在例子中做的那樣在上面。

+0

謝謝,我會試試看 – timB33 2012-08-08 07:12:58