MOSS User Profile(三):查看用户配置文件修改历史

 

MOSS User Profile(三):查看用户配置文件修改历史

前面介绍过了用户配置文件的获取和修改,在共享服务管理中心中我没有找到地方来查看指定用户的配置文件的修改历史,只在参考的书中阅读到了阅读到了用对象模型来查看以往修改的记录的方法。

在代码实验中只实验出了查看到添加的属性字段,但是对于字段的值的修改并没有被记录在其中,看来这个只能记录字段的添加删除等操作,对于属性字段值的修改并不能被记录下来。

下面把代码贴出来,来源于参考书中。

using System;

using System.Collections.Generic;

using System.Text;

using Microsoft.SharePoint;

using System.Web;

using Microsoft.Office.Server;

using Microsoft.Office.Server.Administration;

using Microsoft.Office.Server.UserProfiles;

 

namespace ConsoleApplication4

{

    class Program

    {

        static void Main(string[] args)

        {

            try

            {

                using (SPSite site = new SPSite("http://mossweb:1111/sites/Publish"))

                {

                    ServerContext context = ServerContext.GetContext(site);

                    UserProfileManager profileManager = new UserProfileManager(context);

                    // 获取两日之内的变化

                    DateTime startDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(2));

                    UserProfileChangeQuery changeQuery = new UserProfileChangeQuery(false, true);

                    UserProfileChangeToken changeToken = new UserProfileChangeToken(startDate);

                    changeQuery.ChangeTokenStart = changeToken;

                    changeQuery.Anniversary = true;

                    changeQuery.SingleValueProperty = true;

                    changeQuery.MultiValueProperty = true;

                    changeQuery.DistributionListMembership = true;

                    changeQuery.SiteMembership = true;

                    UserProfile user1 = profileManager.GetUserProfile(@"eoffice\user1");

                    UserProfileChangeCollection changes = user1.GetChanges(changeQuery);

                    foreach (UserProfileChange change in changes)

                    {

                        Console.WriteLine(change.EventTime.ToString());

                        if (change is UserProfilePropertyValueChange)

                        {

                            UserProfilePropertyValueChange propertyChange = (UserProfilePropertyValueChange)change;

                            Console.WriteLine("Property {0} - {1}", propertyChange.ProfileProperty.Name, propertyChange.ChangeType.ToString());

                        }

                        else if (change is UserProfileMembershipChange)

                        {

                            UserProfileMembershipChange membershipChange = (UserProfileMembershipChange)change;

                            Console.WriteLine("Membership {0} - {1}", membershipChange.MemberGroup.DisplayName, membershipChange.ChangeType.ToString());

                        }

                    }

                }

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

            Console.ReadLine();

        }

    }

}

其中代码来源于参考资料。
    参考资料:
Sams Microsoft SharePoint 2007 Development Unleashed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
客户端加入域之---Profwiz的使用 要发挥微软活动目录的强大功能的前提工作就是:把公司里的所有客户端计算机加入域。单纯的入域操作虽然简单,可后续的权限修改User Profile迁移、频繁的重启计算机等工作可能会让你捣鼓一整天才把不够10台计算机加入域!今天给大家推荐一款微软合作伙伴开发的免费工具:Profwiz,使用Profwiz可以一次性的完成3项工作:把计算机入域、本地用户Profile迁移到域用户下和赋予域用户本地管理员权限。 1.右击任务栏右下角的本地连接或者在开始—控制面板打开网络和共享中心在,点击本地连接。 2.点击本地连接的属性—TCP/IPV4—设置首选DNS:192.168.18.254 备用DNS服务器: 202.96.134.133 3.修改计算机名字,如santom,计算机名修改完毕后必须重启电脑。 把Profwiz.exe下载,无需注册,无需安装,双击打开即可使用。 1) 双击打开Profwiz.exe点击下一步; 2) 输入加入域的域名(risecomm.it)和将来使用的域帐户,这里测试账号 (santom),记得勾选Join Domain和Set as default logon,点击下一步; 3) 选择要迁移给域用户用户配置文件(加域前账户),点击下一步; 4) 在弹出的窗口中输入分配的域账户和密码,点击OK即开始工作; PS:这里的时间是由加域之前桌面的文件大小决定 5)完成之后,重启一次计算机并使用域用户登陆,你就会发现计算机已经加入到域,相应的User Profile已经迁移到域用户下,而且,域用户已经加入到本地管理员组! 已经验证测试环境:XP_32位、Win7_32、Win7_64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值