PowerShell 和 TFS |使用本地路径与使用服务器路径的 PowerShell ISE 从 TFS 获取更改集列表
Posted
技术标签:
【中文标题】PowerShell 和 TFS |使用本地路径与使用服务器路径的 PowerShell ISE 从 TFS 获取更改集列表【英文标题】:PowerShell and TFS | Getting a list of change sets from TFS with PowerShell ISE using a local path vs using a server path 【发布时间】:2020-06-11 19:14:50 【问题描述】:我们正在尝试使用 Powershell 为特定分支获取 TFS 中的变更集列表。
工具:PowerShell ISE、TFS Server 2012、Windows 2008 R2 服务器 SP1
对于我们在服务器上的旧 Windows 帐户 - 服务器路径和本地路径代码选项,两者都有效。
对于拥有新 Windows 帐户的用户 - 本地路径不起作用,但服务器路径有效。
我们是否在某处缺少权限?哪一种?
# Enforce coding rules
Set-StrictMode -version 2.0
# Loads Windows PowerShell snap-in if not already loaded
if (
(Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell
-ErrorAction SilentlyContinue) -eq $null
)
Add-PSSnapin Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue
$dateRange = "D" + "2020-02-13T15:02:49" + "~D" + "2020-02-20T13:37:47"
Write-Host "---OPTION 1 (works) using a server path ---"
$TfsServer = "http://**tfs01:8080/tfs/*****"
[Microsoft.TeamFoundation.Client.TfsTeamProjectCollection] $tfs = get-tfsserver $TfsServer
$results = Get-TfsItemHistory $/SolutionName/Main -Server $tfs
-Recurse
-Version $dateRange
| Sort CreationDate
| Select ChangeSetId,OwnerDisplayName,Comment,CreationDate
| Select-Object ChangeSetId,CreationDate,OwnerDisplayName,Comment
foreach ($line in $results)
if (![string]::IsNullOrEmpty($line))
Write-Host $line
Write-Host "---OPTION 2 (doesn't work) using a local path ---"
$locationToSearch = "D:\TFS01\LP\SolutionName\Main\Project"
$results = Get-TfsItemHistory $locationToSearch
-Recurse
-Version $dateRange
| Sort CreationDate
| Select ChangeSetId,OwnerDisplayName,Comment,CreationDate
| Select-Object ChangeSetId,CreationDate,OwnerDisplayName,Comment
foreach ($line in $results)
if (![string]::IsNullOrEmpty($line))
Write-Host $line
【问题讨论】:
【参考方案1】:应该使用服务器路径来获取变更集。
【讨论】:
以上是关于PowerShell 和 TFS |使用本地路径与使用服务器路径的 PowerShell ISE 从 TFS 获取更改集列表的主要内容,如果未能解决你的问题,请参考以下文章