TFS可以使用本地用户帐户吗?

时间:2021-01-02 16:46:46

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的一项功能。如果您的组织已禁用它,则需要考虑在域之间创建信任关系。