2016-07-30 7 views
0

Team Services 계정에 대해 TFS 2013 Power Tools와 함께 제공되는 PowerShell cmdlet을 실행할 수 없습니다. 문제가있는 명령은 Get-TfsItemHistoryGet-TfsChangeset입니다. TFS는 호스트되지 않은 인스턴스에서는 잘 작동하지만 Team Services에서는 작동하지 않습니다. tf.exetfpt.exe을 사용하여 팀 서비스에 성공적으로 연결할 수 있습니다. 내 스크립트는 던져진 예외와 함께 아래에 표시됩니다. 이러한 명령을 Team Services와 함께 사용할 수 있습니까? 그렇다면 무엇이 잘못 되었습니까? 감사합니다. .Microsoft.TeamFoundation.PowerTools.PowerShell cmdlet을 사용하여 Visual Studio Team Services (VSO)를 쿼리하는 방법

#my Team Services credentials: 
$Username = "[email protected]" 
$tfsPath = "https://myname.visualstudio.com/" 
$passwordFile=".\ps-password.pwd" 

# read passsword from file 
# NOTE: password previously stored within file using command: 
# read-host -prompt Password -assecurestring | 
# convertfrom-securestring | 
# out-file ps-password.pwd -ErrorAction Stop 
if (!(test-path $passwordFile)) 
{ 
    throw [System.IO.FileNotFoundException] "$passwordFile" 
} 
$Password = Get-Content "$passwordFile" | ConvertTo-SecureString 

$creds = New-Object -typename System.Management.Automation.PSCredential -ArgumentList $Username,$Password 

$tfsServer = New-Object System.Uri("$tfsPath") 

$tfsCollection = New-Object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection($tfsServer,$creds) 
$tfsCollection.Authenticate() 

# $tfsCollection | show-object # NOTE: content of collection looks good when viewed 

# PROBLEM COMMANDS: 
Get-TfsChangeset -latest -server $tfsCollection 
Get-TfsItemHistory "$/" -Server $tfsCollection -Version "D2010-01-01~D2016-08-01" -Recurse -IncludeItem 

오류 발생 :

Get-TfsChangeset : The filename, directory name, or volume label syntax is incorrect. 
At ~\myScript.ps1:30 char:1 
+ Get-TfsChangeset -latest -server $tfsCollection 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:) [Get-TfsChangeset], IOException 
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.TeamFoundation.PowerTools.PowerShell.GetTfsChangesetCommand 
+0

어떤 문제가 보이면 변경 세트를 성공적으로 가져올 수 있습니다. "Get-TfsChangeset"을 실행했을 때 제공 한 오류가 $ tfsCollection.Authenticate() 중에 오류가 발생 했습니까? 나는 또한 이전에 사용했던 powershell 스크립트를 추가하여 참조 용 changeset를 얻었습니다. –

답변

0

는 참조 용으로 내 PowerShell 스크립트를 추가 : 난 그냥 '내 VSTS/VSO 계정 내 옆에 당신이 코드를 시도했지만 didn를

Add-PSSnapin Microsoft.TeamFoundation.PowerShell 

$tfsPath = "https://xxxxxx.visualstudio.com/" 

[Microsoft.TeamFoundation.Client.TfsTeamProjectCollection] $tfs = get-tfsserver $tfsPath 

Get-TfsChangeset -latest -Server $tfs 
Get-TfsItemHistory "$/" -Server $tfs -Version "D2016-07-27~D2016-08-01" -Recurse -IncludeItem 
+0

나는 똑같은 행동을합니다. Add-PSSnapin 문을 포함해도 PowerShell 프로필의 일부로로드되기 때문에 결과가 변경되지 않습니다 (위에 표시되지 않음). – undertherope

+0

인증이 정상적으로 작동합니다. 흥미롭게도 필자는'Microsoft.TeamFoundation.Powershell'을 우회하고 대신'Microsoft.TeamFoundation.VersionControl.Client' 어셈블리를 사용하면 Powershell을 사용하여 필요한 데이터에 액세스 할 수 있습니다. 그러나이 접근법은 많이 관련되어 있으므로 피하는 것을 선호합니다. – undertherope