14
votes

When configuring a build agent with the use of a PowerShell script, provided by an on-site TFS2015, the script errors out because it cannot find the agent pool on the server.

However, the agent pool 'default' definitely exists. On another server the same script works as expected, and builds run. See the script output below.

I have tried to following:

  • Create a new agent pool on the server, and reference that in the script. Same problem "Agent pool not found".
  • Installed Visual Studio 2015 with minimal features.
  • The user running the script is member of 'Build Administrators' and 'Build Service Accounts' security groups.

What is causing the script to fail on agent pool verification?

PS C:\Windows\system32> E:\Build\agentConfigureAgent.ps1
Enter the name for this agent (default is Agent-SRV001): BUILD002
Enter the URL for the Team Foundation Server (default is: http://[ip-address]:8080/tfs
Configure this agent against which agent pool? (default pool name is 'default'):
Enter the path of work folder for this agent (default is 'E:\Build\agent_work'): E:\Build\Work
Would you like to install the agent as a Windows Service (Y/N) (default is Y): n
Would you like to unconfigure any existing agent (Y/N) (default is N; the agent will be updated):
Configuring agent
Unblocking files Calling agent configure without /RunningAsService
Calling agent configure without /Force
Unable to find a agent pool with the name: default
WARNING: Configure agent failed, but you might fix this problem by configure with /Force.
Would you like to try agent configure again with parameter -Force (Y/N): y
Calling agent configure without /RunningAsService
Calling agent configure with /Force
Unable to find a agent pool with the name: default
E:\Build\agent\ConfigureAgent.ps1 : Configure agent failed. At line:1 char:1
+ E:\Build\agent\ConfigureAgent.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,ConfigureAgent.ps1

3
Is the user a member of the agent pool service accounts group?Daniel Mann
no it wasn't! I added the user to the "Service Accounts" group, but that resulted in another error: "user needs Manage permission for pool default..." Adding the user to "Pool Administrators" group does solve the problem, but it doesn't feel like it is the right way.RoelF
Strange... I would have assumed that making my service account a member of Project Collection Build Service Accounts would have been enough.Christopher Painter

3 Answers

13
votes

The user account running the build process script, needs to be part of the Agent Pool Administrator Accounts.

The error message from the script is misleading.

5
votes

To resolve this error, I had to add the Windows user which is running the TFS build agent to the "Advanced" access level. This can be done under the root TFS Administer Server (top right gear) > Access levels UI. (http://your-tfs-server-here:8080/tfs/_admin/_licenses) My default access level for the server is set to Stakeholder.

4
votes

The answer from @RoeIF worked for me, but I had a bit of trouble finding the page needed to add the account. Here's a screen grab to help:

Enter image description here