2017-07-04 4 views
-1

特定のTFSプロジェクトからフォルダの子をダウンロードしようとしています。 私がこれまで行ってきたことは、URL https://.visualstudio.com、ユーザー名、パスワード、およびすべてのプロジェクトのリストを使用してサーバーに接続しています。 このこれまでの私のコードです:ソース管理からファイルを取得するためのPowerShellを使用して特定のTFSプロジェクトに対して子フォルダが存在する場合、それをダウンロードする方法はありますか?

Add-Type -Path "$path1\Microsoft.TeamFoundation.Client.dll" 
Add-Type -Path "$path1\Microsoft.TeamFoundation.Common.dll" 
Add-Type -Path "$path1\Microsoft.TeamFoundation.WorkItemTracking.Client.dll" 
Add-Type -Path "$path1\Microsoft.TeamFoundation.VersionControl.Client.dll" 
Add-Type -Path "$path1\Microsoft.TeamFoundation.ProjectManagement.dll" 
Add-Type -Path "$path2\Microsoft.TeamFoundation.PowerTools.PowerShell.dll" 
$tfsurl = 'https://something.visualstudio.com' 
$username = '[email protected]' 
$password = 'somepasswd' 
$_tfs_server =[Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($tfs_uri) 

$cred = New-Object System.Net.NetworkCredential($username,$password) 
$_tfs_server.Credentials = $cred 
$_tfs_server.EnsureAuthenticated() 

if($_tfs_server.HasAuthenticated){ 
Write-Host -ForegroundColor Green "Connected to Team Foundation Server [" $tfs_uri "]" 
$tfsConfigurationServer = [Microsoft.TeamFoundation.Client.TfsConfigurationServerFactory]::GetConfigurationServer($tfs_uri) 
$tpcService = $tfsConfigurationServer.GetService("Microsoft.TeamFoundation.Framework.Client.ITeamProjectCollectionService") 

$sortedCollection = $tpcService.GetCollections() | Sort-Object -Property Name 
foreach($col in $sortedCollection){ 
    Write-Host $col.Name 
} 

$cssService = $_tfs_server.GetService("Microsoft.TeamFoundation.Server.ICommonStructureService3") 

$sortedProjects = $cssService.ListAllProjects() | Sort-Object -Property Name 
Write-Host "Listing Projects" 

foreach($project in $sortedProjects){ 
    Write-Host (" - " + $project.Name) 
} 

} 
else { 
return; 
} 

https://i.stack.imgur.com/iCXNQ.jpg

+1

こんにちは、ようこそ接続して、私はこれが動作すると思いますか?これまでディレクトリをダウンロードしようとしたことはありますか?遭遇しているエラーは何ですか? SOはコード作成サービスではありません。あなたのコードでお手伝いします。あなたが試したことを編集して追加してください。 –

+0

エラーは発生しましたか?今すぐフォルダにサブフォルダを取得できないということを意味しましたか? –

答えて

0

シンプルコード:

$teamProjectCollection=new-object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection($tfsCollectionUrl,$cret) 
    $teamProjectCollection.EnsureAuthenticated() 
    $VersionControl = $teamProjectCollection.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer]) 
$workspace = $VersionControl.CreateWorkspace("BasicSccExamplePS", $VersionControl.AuthorizedUser); 
    $workspace.Map("$/Agile2015/ClassLibrary2", "D:\\temp\\BasicSccExample") 
    $workspace.Get() 

フォルダ/ファイルが存在するかどうかを確認するには、あなたが(のgetItemsを使用することができます)方法:

$items=$VersionControl.GetItems("$/ScrumStarain/CustomCode/Properties2"); 
    Write-Output $items.Items.Count 
    If($items.Items.Count -ne 0) 
    { 

    } 
+0

こんにちは、申し訳ありませんが、私はスクリプトを作成することができましたが、別の問題があります。私のコンピュータでは正常に動作しますが、別のラップトップではEnsureAuthenticated()で失敗します。私はすべての必要な.dllファイルを含んでいると言います。 –

+0

@GeriLali $ path1の値は何ですか?これらのアセンブリを追加すると、出力ウィンドウにエラーがありますか?私はC:¥Program Files(x86)¥Microsoft Visual Studio 14.0¥Common7¥IDE¥CommonExtensions¥Microsoft¥TeamFoundation¥Team Explorerを使用しています –

+0

こんにちは、私は問題を解決できました –

関連する問題