I'm trying to use the Jenkins TFS Plugin and have trouble authenticating. I saw that user on the TFS administration, and gave it permissions on my project.
I've created a local user account (via Local Users and Groups) - TfsServer\TfsUserAdmin
, and I'm trying to use it to authenticate against the TFS server.
我正在尝试使用Jenkins TFS插件并且无法进行身份验证。我在TFS管理中看到了该用户,并赋予了我对项目的权限。我已经创建了一个本地用户帐户(通过本地用户和组) - TfsServer \ TfsUserAdmin,我正在尝试使用它来对TFS服务器进行身份验证。
I able able to use the name and password of the user. For example this works (though it prints an empty list):
我能够使用用户的名称和密码。例如,这可以工作(虽然它打印一个空列表):
tf workspaces -format:brief -server:http://TfsServer:8080/tfs/Redacted_Collection -login:TfsServer\TfsUserAdmin,RedactedPassword
If I change the password on the above command I get an error, so authentication does work.
如果我在上面的命令中更改密码,我会收到错误,因此身份验证确实有效。
The next command is:
下一个命令是:
tf workspace -new "RedactedWorkspaceName;" -noprompt -server:http://TfsServer:8080/tfs/Redacted_Collection -login:TfsServer\TfsUserAdmin,RedactedPassword
This fails with the error:
这失败并出现错误:
TF14045: The identity TfsServer\TfsUserAdmin is not a recognized identity.
I don't think I can change these commands, they are created by the plugin.
我不认为我可以更改这些命令,它们是由插件创建的。
I've found people with similar errors, but none of them had the user name at the error - only a GUID or the server name.
我发现有类似错误的人,但他们都没有错误的用户名 - 只有GUID或服务器名称。
Can I work with TFS and a local user?
我可以使用TFS和本地用户吗?
1 个解决方案
#1
You will likely need to use Shadow Accounts to get your Jenkins server to talk to TFS...
您可能需要使用影子帐户让Jenkins服务器与TFS通信...
Create a local user on both your TFS server and your Jenkins server with the same Username & Passowrd. Then use that account to authenticate.
使用相同的用户名和Passowrd在TFS服务器和Jenkins服务器上创建本地用户。然后使用该帐户进行身份验证。
This is the only way to get cross domain coms working without trust and is a feature of Windows & AD. If your org has disabled it you will need to look at creating a trust relationship between your domains.
这是使跨域com无法工作的唯一方法,也是Windows和AD的一项功能。如果您的组织已禁用它,则需要考虑在域之间创建信任关系。
#1
You will likely need to use Shadow Accounts to get your Jenkins server to talk to TFS...
您可能需要使用影子帐户让Jenkins服务器与TFS通信...
Create a local user on both your TFS server and your Jenkins server with the same Username & Passowrd. Then use that account to authenticate.
使用相同的用户名和Passowrd在TFS服务器和Jenkins服务器上创建本地用户。然后使用该帐户进行身份验证。
This is the only way to get cross domain coms working without trust and is a feature of Windows & AD. If your org has disabled it you will need to look at creating a trust relationship between your domains.
这是使跨域com无法工作的唯一方法,也是Windows和AD的一项功能。如果您的组织已禁用它,则需要考虑在域之间创建信任关系。