我在哪里管理TFS用户的电子邮件地址?

Chr*_*ian 11 tfs tfs2010

在我的Team Foundation Server中,我有一个包含Team Project的集合.该团队项目有几个贡献者.以下代码行获得该项目的所有贡献者:

TfsTeamProjectCollection collection = new TfsTeamProjectCollection(new Uri("http://tfs:8080/tfs/CollectionName"));

IGroupSecurityService groupSecurityService = collection.GetService<IGroupSecurityService>();

Identity contributors = groupSecurityService.ReadIdentity(SearchFactor.AccountName, "[ProjectName]\\Contributors", QueryMembership.Expanded);

Identity[] members = groupSecurityService.ReadIdentities(SearchFactor.Sid, contributors.Members, QueryMembership.None);
Run Code Online (Sandbox Code Playgroud)

成员中的每个Identity 都有一个Property MailAddress,在我的例子中等于string.Empty.

我在哪里管理这些邮件地址?

我的第一个想法是在开始 - >管理工具 - >计算机管理 - >用户中查看用户

我选择了其中一个用户并打开了他的属性.我以为TFS可能会有一个电子邮件属性.但我找不到一个.

然后我打开了TFS管理控制台,查找了组成员资格并导航到其中一个用户.也无法编辑属性.

有谁知道在哪里设置该电子邮件地址?

Ed *_*hip 9

好问题!有一个TFS作业计划每小时运行一次,以根据Active Directory中的详细信息更新存储在TFS中的安全身份信息.其中一些信息包括显示名称,安全标识符(SID),AD专有名称和电子邮件地址等.您可以通过查看tbl_security_identity_cache配置数据库中的表来查找此详细信息缓存.

警告: 查询或更改数据库会使您无法获得Microsoft的支持.除非Microsoft支持代表在有效支持案例的上下文中指示,否则建议您不要这样做.您实际上是通过使用TFS SDK来获取此信息.

如果您的TFS环境不在Active Directory环境中,那么它将尝试从运行TFS的本地计算机同步信息.它没有关于要使用的电子邮件地址的详细信息,因此将留空.

从TFS 2010之后的下一版TFS开始,每个用户都可以使用Team Web Access在其配置文件中更新其通知电子邮件地址.