正常而言,SharePoint中的User Profile是会定时同步的,至于如何同步可参考以下的文章:
SharePoint Server中的用户信息管理 :http://blog.zdnet.com.cn/html/70/289370-38534.html
总体来说,我们在SSP的管理站点中管理配置User Proifle, 通过SharePoint的Timer Job定期将这些信息推送到SSP的其他站点中。
有段时间做了一些改动,结果导致用户信息无法同步,即, 在SSP中的配置了User Profile,但是无法同步到SSP中的其他站点。 前期基本上没有任何错误提示,Profile Sync( Timer Job)也提示成功执行,但是实际上User Profile是没有同步的,后期就会提示Content DB无法同步,参照网上的步骤做了以后依然无效果。 最近一段时期就会提示"Access is Denied".
根据错误提示,应该是权限问题。 虽然了解User Profile是定期由SSP中推送到SSP中其他站点,但执行用户,执行细节并不清楚。 起初以为执行用户时相应Web Application的Web Application 管理员,于是授予了它们对应的权限,发现依然没有效果。
直到最近设计了一个自定义的计时器(Timer Job),在本地测试没有问题后应用到正式服务器,却执行失败。
查看系统日志,发现原因是访问被拒绝,分类为“Timer"。 于是推测原因可能是Timer 服务的账户权限问题。 进入Service中,发现Windows SharePoint Services Timer的服务用户为Local System, 而在默认情况下,该服务账户应该为服务器场管理员。 于是修改服务账户,再次执行,成功。
类似的想到,User Profile 同步失败是不是也因为这个原因呢,按照先前计时器的情况看,所有Timer Job的执行用户应该就是Windows SharePoint Services Timer的服务用户,所以该用户应该拥有很大的权限,比如可以修改User Profile. 同样,将服务器上的Windows SharePoint Service Timer 的服务账户为服务器场管理员,再次添加新User Profile,添加至SSP中的其他站点,等待一分钟,信息同步成功。