第一步:在SharePoint服务器,打开管理中心---系统设置 ----管理服务器上的服务。如图:
打开管理服务器上的服务后:找到如下两个服务,检查是都已经开启服务,若处于停止状态则手动开启
注意:启动过程可能需要几分钟,请耐心等待,并刷新页面。
服务启动完成后,请重启iis(开始--运行--输入--cmd---然后输入iisreset,如果权限不够,就以管理员身份启动命令行提示符),(为了确保下面的步骤能够顺利进行还是建议重启一下IIS,不过好像不重启也是可以的)
再次打开管理中心页面----应用程序管理---管理服务应用程序
找到User Profile Service Application(如下图),单击它
进入:管理配置文件服务:User Profile Service Application 如下图 ,然后点击“配置同步连接”,在新开的页面,如果内容,你可以单击新建连接
进入同步配置页面,根据提示填写所有带*的内容,另外除了带*号的之外还要填上连接名称和林名称(可填域控制的计算机名称)
不要忘了:点一下填充容器,然后勾选要同步的数据。最后点击确定
如何同步AD域指定属性呢,点击管理用户属性
找到你想要同步的属性,点击编辑,
从AD域属性编辑器找到对应的属性内部名称,点击添加
添加成功后,该属性会显示如下:
点击“OK”,确认保存。
如果你第一次同步,需要选用完全同步,以后再用选增量同步就行了,后者的意思是只是同步新增的用户,已经同步过的文件就不在同步了
然后点击确定,这样系统会自动同步了,不隔断时间刷新页面,当出现:Directory导入中的数字变为0 时,说明同步完成,就可以停止了,如下图:
到此,我们就完成了AD中的数据和SharePoint的同步。
一个简单C#读取sharepoint用户数据的示例。
SPServiceContext myContext = SPServiceContext.GetContext(mySite);
try
{
UserProfileManager myProfile = new UserProfileManager(myContext);
UserProfile user = myProfile.GetUserProfile(LoginName);
if (user != null)
{
if (user["PictureUrl"].Value != null)
{
UserImageUrl = user["PictureUrl"].Value.ToString();
}
else
{
UserImageUrl = "/_layouts/15/YHSD.SDHT.Resources/image/toux.png";
}
if (user["CellPhone"].Value != null)
{
CellPhone = user["CellPhone"].Value.ToString();
}
else
{
CellPhone = "";
}
if (user["Department"].Value != null)
{
Department = user["Department"].Value.ToString();
}
else
{
Department = "";
}
}
}