有没有办法将Active Directory链接到SharePoint列表并将元数据从AD拉入SharePoint列表?
E.g: 从AD中提取名称,角色,位置并将其存储在列表中
答案 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列表。这可以采取以下任何一种形式:
每种情况下的挑战都是以编程方式更新SharePoint列表中的现有记录,除非您采取简单的方法,只需在每次进程运行时删除并重新创建每条记录。