Skip to content

Conversation

Copy link

Copilot AI commented Dec 1, 2025

Get-TfsClientCredentials fails on ClientOM 19/20 because Microsoft.TeamFoundation.Client.TfsClientCredentials was removed. The replacement is Microsoft.VisualStudio.Services.Client.VssClientCredentials.

Changes

  • New credential path for ClientOM 19+: Check for VssClientCredentials availability and use it with VssOAuthAccessTokenCredential or VssOAuthCredential
  • Backwards compatibility: Fall back to TfsClientCredentials for older SDK versions
  • Verbose logging: Log when VssClientCredentials is present but OAuth credential types are missing
# For ClientOM 19+, now returns VssClientCredentials
# For older SDKs, still returns TfsClientCredentials
$credentials = Get-VstsTfsClientCredentials -OMDirectory $omDir

The pattern mirrors the existing Get-VssCredentials implementation for type detection and fallback handling.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 03nvsblobprodwcus014.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 055vsblobprodwcus02.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 1g1vsblobprodwcus01.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 3eavsblobprodwcus03.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 3zgvsblobprodwcus024.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 40qvsblobprodwcus022.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 4fdvsblobprodwcus012.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 5tbvsblobprodwcus06.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 61cvsblobprodwcus010.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 73dvsblobprodwcus07.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 8usvsblobprodwcus011.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • 9owvsblobprodwcus020.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • arpvsblobprodwcus017.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • crcvsblobprodwcus021.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • fslvsblobprodwcus015.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • grnvsblobprodwcus04.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • k92vsblobprodwcus08.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • mnzvsblobprodwcus05.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • pl8vsblobprodwcus09.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • uubvsblobprodwcus018.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • vwmvsblobprodwcus016.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • x4wvsblobprodwcus013.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • xg1vsblobprodwcus019.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)
  • xlkvsblobprodwcus023.vsblob.vsassets.io
    • Triggering command: /usr/local/bin/node node /usr/local/bin/npm install (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Latest PowerShell task SDK is incompatible with ClientOM 19 and 20</issue_title>
<issue_description>This causes the following function:

Get-TfsClientCredentials

to fail, because the class Microsoft.TeamFoundation.Client.TfsClientCredentials no longer exists.

This has been replaced by Microsoft.VisualStudio.Services.Client.VssClientCredentials from assembly: Microsoft.VisualStudio.Services.Client.Interactive.

The Get-TfsClientCredentials should probably test for the existence of the VssClientCredentials and use that, then fall back to TfsClientCredentials for backwards compat.</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits December 1, 2025 09:52
…ntials fallback

Co-authored-by: MantavyaDh <145761344+MantavyaDh@users.noreply.github.com>
Co-authored-by: MantavyaDh <145761344+MantavyaDh@users.noreply.github.com>
…sClientCredentials

Co-authored-by: MantavyaDh <145761344+MantavyaDh@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix Get-TfsClientCredentials for SDK compatibility Add VssClientCredentials support to Get-TfsClientCredentials for ClientOM 19+ Dec 1, 2025
Copilot AI requested a review from MantavyaDh December 1, 2025 09:59
Copilot finished work on behalf of MantavyaDh December 1, 2025 09:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Latest PowerShell task SDK is incompatible with ClientOM 19 and 20

2 participants