SharePoint同步AD域属性和后台读取人员数据

 

第一步:在SharePoint服务器,打开管理中心---系统设置 ----管理服务器上的服务。如图:

 

打开管理服务器上的服务后:找到如下两个服务,检查是都已经开启服务,若处于停止状态则手动开启

 

注意:启动过程可能需要几分钟,请耐心等待,并刷新页面。

服务启动完成后,请重启iis(开始--运行--输入--cmd---然后输入iisreset,如果权限不够,就以管理员身份启动命令行提示符),(为了确保下面的步骤能够顺利进行还是建议重启一下IIS,不过好像不重启也是可以的)

再次打开管理中心页面----应用程序管理---管理服务应用程序

找到User Profile Service Application(如下图),单击它
进入:管理配置文件服务:User Profile Service Application 如下图 ,然后点击“配置同步连接”,在新开的页面,如果内容,你可以单击新建连接

进入同步配置页面,根据提示填写所有带*的内容,另外除了带*号的之外还要填上连接名称和林名称(可填域控制的计算机名称)

不要忘了:点一下填充容器,然后勾选要同步的数据。最后点击确定

如何同步AD域指定属性呢,点击管理用户属性

31043517-d296accd876b4ad2a34954723e1f16b

 

找到你想要同步的属性,点击编辑,

31043647-ff211764bef740fc96328c796dcf6fa

 

从AD域属性编辑器找到对应的属性内部名称,点击添加

31044003-a88458d949154daaa3aceae6a3ff329

添加成功后,该属性会显示如下:

31044014-a772ec98c8764f3ebcd4f111a43e249

点击“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 = "";
                            }

                        }
           }

 

posted on 2017-03-16 18:28  雨轩哥哥  阅读(1760)  评论(0编辑  收藏  举报