Click to Rate and Give Feedback
Community Content
In this section
Statistics Annotations (0)
UserProfile Class (Microsoft.Office.Server.UserProfiles)
Represents a user profile for a person in the user profile database.

Namespace: Microsoft.Office.Server.UserProfiles
Assembly: Microsoft.Office.Server (in microsoft.office.server.dll)
Visual Basic (Declaration)
<DefaultMemberAttribute("Item")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel:=True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel:=True)> _
Public Class UserProfile
Visual Basic (Usage)
Dim instance As UserProfile
C#
[DefaultMemberAttribute("Item")] 
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel=true)] 
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel=true)] 
public class UserProfile

The following code examples show how to use the UserProfile class to create a user profile and personal site.

Visual Basic
Public Sub UserProfileSample() 
   'get portal site context from topology          
   Dim strUrl As String = "http://SampleName"          
   Dim tm As New TopologyManager()          
   Dim ps As PortalSite = tm.PortalSites(New Uri(strUrl))          
   Dim pc As PortalContext = PortalApplication.GetContext(ps)
   'initialize user profile config manager object          
   Dim upm As New UserProfileManager(pc)          
   'create user sample          
   Dim sAccount As String = "mydomain\myalias"          
   If Not upm.UserExists(sAccount) Then
      upm.CreateUserProfile(sAccount)
   End If           
   'to set prop values on user profile          
   Dim u As UserProfile = upm.GetUserProfile(sAccount)          
   Dim sPropName As String = "PreferredName"          
   u(sPropName) = sAccount          
   u.Commit()           
   'remove user profile sample          
   upm.RemoveUserProfile(sAccount)       
End Sub 

Public Sub CreatePersonalSiteSample()          
   'get portal site context from topology          
   Dim strUrl As String = "http://SampleName"          
   Dim tm As New TopologyManager()          
   Dim ps As PortalSite = tm.PortalSites(New Uri(strUrl))          
   Dim pc As PortalContext = PortalApplication.GetContext(ps)
   'initialize user profile config manager object          
   Dim upm As New UserProfileManager(pc)          
   Dim sAccount As String = "mydomain\myalias"          
   Dim u As UserProfile = upm.GetUserProfile(sAccount)
   u.CreatePersonalSite()          
   Dim mysite As SPSite = u.PersonalSite          
   Dim myurl As String = u.PersonalUrl       
End Sub 'CreatePersonalSiteSample
C#
public void UserProfileSample() 
{ 
   //get portal site context from topology string 
   strUrl = "http://SampleName"; 
   TopologyManager tm = new TopologyManager(); 
   PortalSite ps = tm.PortalSites[new Uri(strUrl)]; 
   PortalContext pc = PortalApplication.GetContext(ps);  

   //initialize user profile config manager 
   object UserProfileManager upm = new UserProfileManager(pc); 

   //create user sample 
   string sAccount = "mydomain\\myalias"; 
   if (!upm.UserExists(sAccount)) upm.CreateUserProfile(sAccount);  

   //to set prop values on user profile UserProfile 
   u = upm.GetUserProfile(sAccount); 
   string sPropName = "PreferredName"; u[sPropName] = sAccount;
   u.Commit();  

   //remove user profile sample 
   upm.RemoveUserProfile(sAccount); 
}  

public void CreatePersonalSiteSample() 
{ 
   //get portal site context from topology 
   string strUrl = "http://SampleName"; 
   TopologyManager tm = new TopologyManager(); 
   PortalSite ps = tm.PortalSites[new Uri(strUrl)]; 
   PortalContext pc = PortalApplication.GetContext(ps);  
   //initialize user profile config manager object 
   UserProfileManager upm = new UserProfileManager(pc); 
   string sAccount = "mydomain\\myalias"; 
   UserProfile u = upm.GetUserProfile(sAccount);
   u.CreatePersonalSite(); 
   SPSite mysite = u.PersonalSite; 
   string myurl = u.PersonalUrl; 
}
System.Object
  Microsoft.Office.Server.UserProfiles.UserProfile
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Property lookup      eoar   |   Edit   |  
the class TopologyManager is for SharePoint Server 2003. So the code is outdated for MOSS 2007.

just to make the point, when you try to look for a property
say :

anyControl.Text = userProfile["Company"].ToString();

you must first check if that property exist
you could not rely on : userProfile["Company"] != null
you must check also userProfile["Company"].Value != null


Flag as ContentBug
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker