【问题标题】:Get working directory of TFS XAML Build Agents using Powershell使用 Powershell 获取 TFS XAML 构建代理的工作目录
【发布时间】:2017-03-10 11:56:59
【问题描述】:

我的目标是想出一个 Powershell 脚本来清理 XAML 构建代理的工作目录。

要获得构建代理的工作目录,我可以使用下面的 C# 代码,效果很好。

我想在 Powershell 中实现同样的功能。

static void Main(string[] args)
    {
        var TPC = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("CollectionURI"));

        IBuildServer buildServer = TPC.GetService<IBuildServer>();

     \\ {Microsoft.TeamFoundation.Build.Client.BuildServer}

        var buildController = buildServer.GetBuildController("ControllerName");

        var buildAgent = buildController.Agents;

        var workingFolder = string.Empty;

        List<string> list = new List<string>();

        foreach (IBuildAgent agent in buildAgent)
        {
            list.Add(agent.BuildDirectory);
        }
    }

如果找不到等效的 Powershell,我将不得不通过 exe 或 dll 在 Powershell 中使用 C#。

【问题讨论】:

    标签: c# powershell tfs tfsbuild


    【解决方案1】:

    与你的 C# 代码类似:

    $url = "http://xxxx:8080/tfs/CollectionName/";
    $tfs = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($url);
    $buildservice = $tfs.GetService("Microsoft.TeamFoundation.Build.Client.IBuildServer");
    $buildcontroller = $buildservice.GetBuildController("ControllerName");
    $buildagents = $buildcontroller.Agents;
    foreach($buildagent in $buildagents)
    {
        Write-Host $buildagent.BuildDirectory;
    }
    

    【讨论】:

    • 工作就像一个魅力。荣誉。谢谢你。我只需要将以下两个添加到脚本中。 Add-Type -Path "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.TeamFoundation.Client.dll" Add-Type -Path "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.TeamFoundation.Build.Client.dll" 我现在正在寻找通过 -AssemblyName 选项加载程序集。
    猜你喜欢
    • 1970-01-01
    • 2016-07-01
    • 2012-02-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 2018-04-27
    相关资源
    最近更新 更多