UserProfile Class

Represents a user profile for a person in the user profile database.

Inheritance Hierarchy

System.Object
  Microsoft.Office.Server.UserProfiles.UserProfile

Namespace:  Microsoft.Office.Server.UserProfiles
Assembly:  Microsoft.Office.Server (in Microsoft.Office.Server.dll)

Syntax

'Declaration
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class UserProfile
'Usage
Dim instance As UserProfile
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class UserProfile

Examples

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

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

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

UserProfile Members

Microsoft.Office.Server.UserProfiles Namespace