2016-07-30 7 views
0

Я не могу запустить никаких командлетов PowerShell, поставляемых с инструментами TFS 2013 Power Tools, в отношении учетной записи Team Services. Проблемные команды включают Get-TfsItemHistory и Get-TfsChangeset. Они отлично работают с не-размещенными экземплярами TFS, но не с Team Services. Я могу успешно подключиться к Team Services, используя tf.exe и tfpt.exe. Мой скрипт показан ниже вместе с исключением, которое выбрано. Могут ли эти команды использоваться с Team Services, и если да, то что я делаю неправильно? Спасибо.Как запросить службы Visual Studio Team Services (было VSO) с помощью командлетов Microsoft.TeamFoundation.PowerTools.PowerShell

#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

Я просто попытался с вами код на моей стороне с моим VSTS/VSO счет, но Бесполезный» Если вы видите какую-либо проблему, набор изменений может быть успешно выполнен. Предоставленная ошибка произошла, когда «Get-TfsChangeset», существует ли какая-либо ошибка во время $ tfsCollection.Authenticate()? Я также добавил сценарий powershell, который использовал раньше, чтобы получить набор изменений для вашей справки. –

ответ

0

Добавить свой Powershell скрипт для справки:

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

Аутентификация работает нормально. Интересно, что я могу получить доступ к требуемым данным с помощью Powershell, если я обход «Microsoft.TeamFoundation.Powershell» и вместо этого использую сборку «Microsoft.TeamFoundation.VersionControl.Client». Однако этот подход очень востребован, и я бы предпочел избежать этого. – undertherope

 Смежные вопросы

  • Нет связанных вопросов^_^