使用 SharePoint 2010 Client Object Model 修改用户Email(邮箱) 地址

我们使用SharePoint 2010 时,有时需要修改用户Email(邮箱) 地址,但是People and Groups 这个列表里面不允许我们修改。

本文介绍如何使用Client Object Model 来修改用户Email(邮箱) 地址。

关于如何使用Moss 2010 Client Object Model,请参考 http://msdn.microsoft.com/en-us/library/ee857094.aspx#Y5816

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SharePoint.Client; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { // init the ClientContext, please replace the website url with the moss 2010 site url you want to access string siteUrl = "http://ccpc"; ClientContext clientContext = new ClientContext(siteUrl); // Get the user info list of the web site List userList = clientContext.Web.SiteUserInfoList; clientContext.Load(userList); clientContext.ExecuteQuery(); Console.WriteLine(userList.ItemCount); // Get the fields of the list FieldCollection fc = userList.Fields; clientContext.Load(fc); clientContext.ExecuteQuery(); // Print fc foreach (Field field in fc) { Console.WriteLine(field.InternalName); } // Get the ListItem collection CamlQuery camlQuery = new CamlQuery(); camlQuery.ViewXml = @" "; ListItemCollection itemList = userList.GetItems(camlQuery); // Only load the two fields(EMail and Name) clientContext.Load(itemList, items => items .Include( item => item["EMail"], item => item["Name"])); clientContext.ExecuteQuery(); // Print the email and user name string messageTemplate = "Name ={0}, Email = {1}"; foreach (ListItem item in itemList) { string[] alias= item["Name"].ToString().Split("\\".ToCharArray()); Console.WriteLine(string.Format(messageTemplate, item["Name"], item["EMail"])); // Update the user email, replace the james.com with your owner mail server adress if (alias.Length == 2) { item["EMail"] = alias[1] + "@james.com"; } else { item["EMail"] = alias[0] + "@james.com"; } item.Update(); } // submit the update clientContext.ExecuteQuery(); Console.Read(); } } }


你可能感兴趣的:(使用 SharePoint 2010 Client Object Model 修改用户Email(邮箱) 地址)