科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道MOSS User Profile(一):获取和遍历

MOSS User Profile(一):获取和遍历

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

访问这些User Profile之前,需要在管理中心中的共享服务管理中创建好用户配置文件,其实就是在管理中心中“创建或配置此服务器场的共享服务”,创建一个共享服务管理的网站。

来源:cnblogs 2007年11月2日

关键字: Profile SharePoint Office

  • 评论
  • 分享微博
  • 分享邮件

  

  MOSS User Profile(一):获取和遍历

  操作Microsoft Office SharePoint Server 2007的User Profile首先需要添加3个DLL组件的引用:

  Microsoft.SharePoint

  Microsoft.Office.Server

  System.Web

  然后就可以从SPSite类下的UserProfileManager类来进行访问了。

  

  获取User Profile有两个方法。

  一个是通过枚举场中的所有User Profile。另一个是获取单独的User Profile。

  但是访问这些User Profile之前,需要在管理中心中的共享服务管理中创建好用户配置文件,其实就是在管理中心中“创建或配置此服务器场的共享服务”,创建一个共享服务管理的网站。然后用户第一次访问他们的“我的网站”时,会自动创建他们的User Profile。

  在共享服务管理网站中这个位置可以查看所有的用户配置文件:

  ①首先打开“用户配置文件和属性”。

  

  

  

  ②在我的实验环境中,可以看到已经存在了6个用户配置文件了,点击下面的查看用户配置文件即可看到所有的用户配置文件。

  

  

  

  ③用户配置文件列表

  

  

  

  下面来介绍一下如何通过对象模型来进行访问。遍历所有的用户配置文件,根据用户名找到对应的用户配置文件。

  usingSystem;

  usingSystem.Collections.Generic;

  usingSystem.Text;

  usingMicrosoft.SharePoint;

  usingSystem.Web;

  usingMicrosoft.Office.Server;

  usingMicrosoft.Office.Server.Administration;

  usingMicrosoft.Office.Server.UserProfiles;

  

  namespaceConsoleApplication4

  {

  classProgram

  {

  staticvoidMain(string[] args)

  {

  try

  {

  using(SPSitesite = newSPSite("http://mossweb:1111/sites/Publish"))

  {

  ServerContextcontext = ServerContext.GetContext(site);

  UserProfileManagerprofileManager = newUserProfileManager(context);

  Console.WriteLine("All Profiles:");

  foreach(UserProfilep inprofileManager)

  {

  Console.WriteLine("{0} : {1}", p.ID, p.MultiloginAccounts[0]);

  }

  Console.WriteLine("—");

  stringuserName = @"eoffice\Administrator"

  if(profileManager.UserExists(userName))

  {

  UserProfileprofile = profileManager.GetUserProfile(userName);

  Console.WriteLine("Found User Profile {0}", profile.ID);

  Console.WriteLine("\tPersonal Site: {0} ({1})", profile.PersonalSite.RootWeb.Title, profile.PersonalSite.Url);

  }

  else

  {

  Console.WriteLine("No account found for "+ userName);

  }

  }

  }

  catch(Exceptionex)

  {

  Console.WriteLine(ex.Message);

  }

  Console.ReadLine();

  }

  }

  }

  

  参考资料:Sams Microsoft SharePoint 2007 Development Unleashed

  

  

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章