在SharePoint列表中显示AD联系人信息

时间:2016-06-23 01:37:46

标签: sharepoint active-directory

有没有办法将Active Directory链接到SharePoint列表并将元数据从AD拉入SharePoint列表?

E.g: 从AD中提取名称,角色,位置并将其存储在列表中

1 个答案:

答案 0 :(得分:0)

将该信息提取到SharePoint的用户配置文件服务中通常比将其推送到SharePoint列表更有意义。

然而,答案是肯定的。这有两个选择:

通过外部内容类型公开Active Directory

SharePoint 2010引入了外部内容类型(以及使用这些内容类型的外部列表)的概念。 “外部内容类型”从SharePoint外部的数据源中提取其信息,而不是将其数据存储在传统的SharePoint列表中,但它可以在SharePoint中以与SharePoint列表和库一致的方式显示。

通过SharePoint 2010添加外部内容类型时,您可以选择三种类型的数据源: WCF服务(适用于Web服务), SQL Server (适用于Microsoft SQL Server数据库)和 .NET类型(对于.NET程序集连接器或自定义.NET连接器)。根据您对SQL Server和.NET编程的相对舒适度,您可以设置查看Active Directory的SQL查询视图,也可以使用C#编写连接到Active Directory的.NET连接器。

有关编写.NET连接器的更多信息,请参阅Microsoft的文档:Differences Between Using the .NET Assembly Connector and Writing a Custom Connector

在SharePoint 2013中,您还可以create an external content type from any oData source。同样,这可能需要编写您自己的包装器代码,以便以SharePoint可以使用的方式公开Active Directory。

将Active Directory数据推送到SharePoint列表

外部内容类型类似于SharePoint列表,但数据存储在外部。这意味着,例如,您无法在记录上设置SharePoint警报和工作流。如果您确实需要将数据从Active Directory推送到SharePoint列表,那么您需要探索其他选项。

其中一个选项是让一段代码按计划运行,以便使用Active Directory中的信息不断更新SharePoint列表。这可以采取以下任何一种形式:

  • 使用.NET编写的自定义SharePoint计时器作业
  • 位于您的某个SharePoint Web前端服务器上的自定义Powershell脚本(或控制台应用程序),可以作为Windows计划任务运行
  • 网站工作流程,其中包含查询Active Directory并使用生成的信息填充列表
  • 的操作

每种情况下的挑战都是以编程方式更新SharePoint列表中的现有记录,除非您采取简单的方法,只需在每次进程运行时删除并重新创建每条记录。