Although TFS Proxy is supposed to run as by a service user accont, however, there is a way to get around it if your setup is on a domain.

This is not officially supported by Microsoft, but it works.

Background

It is recommended that you read http://blogs.msdn.com/tsyang/archive/2008/03/24/how-team-foundation-server-proxy-2008-works.aspx before proceeding.

Instruction

  1. Install proxy with a valid user account (for example, yours)
  2. (Optional but recommended) Do not yet add your targeting TFServer address to proxy.config
    1. This prevents users from using this proxy before you can change the service account.  This will save you some headache (which I could write another short post to explain...)
  3. Locate tfsadminutil.exe from where you install the proxy to
  4. Run tfsadminutil changeaccount /proxy currentServiceAccount "NT Authority\Network Service"
    1. currentServiceAccount refers to the account you entered at the beginning
  5. Add your targeting TFServer address to proxy.config
  6. iisreset the proxy server machine
  7. Ask your TFServer admin to add this account "proxyMachineDomain\proxyMachineName$" to the TFS group where he/she manages proxy service accounts
    1. "proxyMachineDomain\proxyMachineName$" is your proxy machine's machine account.
  8. Done.

Update

  • Thanks to James Manning for pointing it out that this workaround only works in a domain environment.