TFS 与活动目录AD(Active Directory)的同步机制
TFS用户管理机制
TFS系统与企业域服务器用户系统(或本地计算机用户系统)高度集成在一起,使用域服务器验证系统用户的账户和密码,从而在企业中实现单一用户,单点登录。也就是说,TFS系统自身并没有用户管理的功能,没有针对账户信息的创建、修改、删除功能。当用户通过域服务器提供的功能修改了账户密码以后,登陆TFS系统时,需要使用新的账户密码。
但是,并不是说在TFS系统中完全没有账户信息的概念。实际上,当管理员将开发人员的域账户或本地服务器的账户添加到TFS的团队项目中时,TFS系统自动将账户的部分属性(Sid、AccountName、DistinguishedName、显示名称、邮箱地址等)同步到了TFS系统的数据库中。TFS系统在运行过程中,会使用这些缓存在TFS系统中的信息,从而提高数据查询效率;另外TFS还允许用户修改其中缓存的邮箱地址和显示名称,但是这些信息不会反向同步到域服务器。

Figure 1 – TFS用户配置信息
TFS还提供用户组的功能,可以将多个用户合并到一个组中,通过为组配置相应的权限和功能,使组中的用户自动继承用户组所具备的功能。这种机制与Windows操作系统的用户组功能类似,十分有利于用户的权限设置。同时TFS系统也支持域服务中的安全组,即在添加用户时,可以添加一个域控制器中的组,例如“开发一处的所有成员”,那么TFS系统会将这个组中的所有用户自动添加到TFS的团队项目中。
定期同步
TFS系统与Active Directory域之间的同步,主要包含两个方面的内容:
1. 将域服务器中已经变化了的属性值同步到TFS系统中。例如域管理员在AD中修改了用户的邮箱和显示名称,TFS系统会自动将这些信息同步到TFS中。
2. 将域服务器安全组中的用户成员信息同步到TFS系统中。例如上面提到的“开发一处的所有成员”组增加了用户成员,TFS会自动在系统中增加对应的用户。如果在AD中将成员从组中移除出来,则TFS也会自动将用户从TFS中移除。通过这种同步,可以实现将AD中的组织结构直接映射到TFS系统中,大幅降低权限配置的复杂性。
在TFS的默认配置中,这种同步功能由TFS系统自动完成,并且每小时同步一次。如果用户需要强制立刻同步,可以通过WebService工具或者PowerShell启动同步任务(Job).
强制同步
在很多情景下,管理员需要立即实现AD与TFS之间的同步。例如需要将AD组中添加的账户同步到TFS系统,以便使开发人员可以立即登陆TFS系统。TFS提供一个WebService服务,可供用户启动同步任务。你可以使用这个WebServiceStudio工具,实现无代码调用WebService,也可以通过PowerShell实现此功能。下面以图片的方式介绍如何实现:
在TFS服务器上,打开IIS,找到名称为JobService的服务,并使用浏览器打开:

在WebService Studio中输入TFS Job Service的地址,获取所有功能,并选择QueryJobs功能,输入Job的GUID。注意同步AD信息的任务ID是'544DD581-F72A-45A9-8DE0-8CD3A5F29DFE',名称是‘Periodic Identity Synchronization’。

任务启动以后,你可以在TFS的作业监控界面查看到任务的状态:

任务完成后,大约1分钟时间后,你会看到AD中的信息已经同步到了TFS系统,包括用户账户和用户的邮箱等信息。
数据库存储
TFS系统中的用户信息主要存储在Tfs_Configuration库的tbl_Identity和tbl_Propertyvalue中,如下图:

常见问题
1. 为什么在TFS中,有些账户的信息无法同步更新?
由于系统的默认设置,如果用户在TFS系统中修改了个人信息,那么除非用户在“用户配置文件”中重置这些被修改的属性,同步到TFS系统中的信息不会显示在页面中。
http://www.cnblogs.com/danzhang/ ALM MVP 张洪君
TFS 与活动目录AD(Active Directory)的同步机制的更多相关文章
- SharePoint 2010中重置windows 活动目录(AD)域用户密码的WebPart(免费下载)
由于SharePoint 2013推出不久,并非所有的企业都会升级到SharePoint 2013的,毕竟升级不是打打补丁这么简单,更多的企业还是使用Sharepoint 2010版本的,因此本人自行 ...
- SharePoint 2013中修改windows 活动目录(AD)域用户密码的WebPart(免费下载)
前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真正的大型项目中经受住了考验:.Net版SAP RFC适配器组件和SharePoint 2013修改AD ...
- C# AD(Active Directory)域信息同步,组织单位、用户等信息查询
示例准备 打开上一篇文章配置好的AD域控制器 开始菜单-->管理工具-->Active Directory 用户和计算机 新建组织单位和用户 新建层次关系如下: 知识了解 我们要用C# ...
- cmd 执行Dcpromo错误:在该 SKU 上不支持 Active Directory 域服务安装向导,Windows Server 2008 R2 Enterprise 配置AD(Active Directory)域控制器
今天,要安装AD域控制器,运行dcpromo结果提示:在该 SKU 上不支持 Active Directory 域服务安装向导. 以前弄的时候直接就通过了,这次咋回事?终于搞了大半天搞定了. 主要原因 ...
- Windows Server 2008 R2 配置AD(Active Directory)域控制器
实施过程: 一.安装Windows Server2008 R2操作系统 (过程略) 二.安装域控制器 1. 修改电脑名称 2.修改电脑DNS 三.配置AD 1.在"服务器管理器"- ...
- Ldap登陆AD(Active Directory)进行认证的Java示例
原文地址:http://hi.baidu.com/js2007/item/24efbb0fae1c9b90a3df432a package LdapTest; import java.util.Has ...
- Windows Server 2008 R2 配置AD(Active Directory)域控制器 -zhai zi wangluo
http://files.cnblogs.com/zhongweiv/Windows_Server_2008_R2_%E9%85%8D%E7%BD%AEActive_Directory%E5%9F%9 ...
- DNS笔记 DNS区域集成到 Active Directory
可以将 DNS 区域集成到 Active Directory 中以提供增强的容错功能和安全性.OpenDNS Google Public DNS往返时间 (RTT) 远程访问服务 (RAS)域名与 ...
- Windows Azure Active Directory (2) Windows Azure AD基础
<Windows Azure Platform 系列文章目录> Windows Azure AD (WAAD)是Windows Azure提供的一个REST风格的服务,为您的云服务提供了身 ...
随机推荐
- Web Service学习小结(概念性回忆)-希望你们会喜欢
Web Service的出现带来了很多系统工程直接相互的调用.无疑让代码的隐藏得到了好的封装. Web Service 它的主要的组成要素: SOAP:(Simple Object Access P ...
- sql 两列相加存到另一列
假设表table1有a.b两个列,想生成另一个列为a列值+b列值计算列添加语句如下ALTER TABLE table1ADD c AS a+b
- MySQL架构
一.MySQL逻辑架构 第一层,即最上一层,所包含的服务并不是MySQL所独有的技术.它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等. ...
- JPA(4)表表关联关系
在我们做数据库设计的时候,最烦的就是各种表之间的关联关系了,关联关系有:一对多,多对一,一对一,其中还有单向和双向的区别. 1.双向一对多及多对一映射:既然是双向,那么就是同一类的了:双向一对多关系中 ...
- 【Asphyre引擎】学习笔记(二)
转一篇火人论坛那边的一份学习文档,我简单排一下版,希望对入门者有帮助. 感谢China Yang,这份文档也帮助我快速入了门. 和我一起学 Asphyre Sphinx Framework v1.0. ...
- PHP系列之一traits的应用
Traits 在PHP中实现在方法的重复使用:Traits与Class相似,但是它能够在Class中使用自己的方法而不用继承: Traits在Class中优先于原Class中的方法,引用PHP Doc ...
- SQL数据库基础(三)
认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点. 数据库备 ...
- CSS标签选择器(二)
一.CSS选择器概述 1.1.CSS功能 CSS语言具有两个基本功能:匹配和渲染 当浏览器在解析CSS样式时,首先应该确定哪些元素需要渲染,即匹配哪些HTML元素,这个操作由CSS样式中的选择器负责标 ...
- IOS SDWebImage实现原理详解
在之前我写过SDWebImage的使用方法,主要是用与获取网络图片,没有看过的朋友可以看看. 这篇文章将主要介绍SDWebImage的实现原理,主要针对于获取网络图片的原理,如果没有第三方我们该怎么去 ...
- iOS 通过二进制判断图片类型
+ (NSString *)typeForImageData:(NSData *)data { uint8_t c; [data getBytes:&c length:1]; switch ( ...