当我直接在机器上运行以下 PowerShell 脚本时
Add-Type -Path "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.TeamFoundation.VersionControl.Client.dll"
$basePath = "http://magv-dev-tfs:8080/tfs/MccCollection"
[Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($basePath)
我得到一个对象,其中设置了字段 AuthenticatedUserName、AuthenticatedUserDisplayName、AuthenticatedUserIdentity。
当我使用相同的凭据从同一台机器上的其他机器上的远程 PowerShellTab 中运行相同的脚本时,这 3 个字段是 emply:
AuthenticatedUserName :
AuthenticatedUserDisplayName :
AuthenticatedUserIdentity :
Uri : http://my-tfs:8080/tfs/mcccollection
TimeZone : System.CurrentSystemTimeZone
InstanceId :
Name : my-tfs\MccCollection
Credentials : System.Net.SystemNetworkCredential
Culture : de-DE
SessionId : 7c76a150-f681-4b3c-9b0d-2836a3a5a908
ClientCacheDirectoryForInstance :
HasAuthenticated : False
TfsTeamProjectCollection : magv-dev-tfs\MccCollection
编辑:
至少我找到了一个解决方法如何使用 [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer 和来自 Powershell 的凭据