使用 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 = @"<View> </View>";

            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();
        }
    }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值