Compartir a través de


Clase UserProfileManager

Representa una colección de objetos UserProfile que se utilizan para tener acceso a los datos de perfil de usuario. Para tener acceso a un perfil de usuario específico, llame a la clase UserProfileManager para crear un objeto UserProfile y, a continuación, recuperar los datos correspondientes de la base de datos de perfil de usuario.

Jerarquía de la herencia

System.Object
  Microsoft.Office.Server.UserProfiles.ProfileManagerBase
    Microsoft.Office.Server.UserProfiles.UserProfileManager

Espacio de nombres:  Microsoft.Office.Server.UserProfiles
Ensamblado:  Microsoft.Office.Server.UserProfiles (en Microsoft.Office.Server.UserProfiles.dll)

Sintaxis

'Declaración
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class UserProfileManager _
    Inherits ProfileManagerBase
'Uso
Dim instance As UserProfileManager
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class UserProfileManager : ProfileManagerBase

Comentarios

Debe crear el objeto UserProfileManager antes de tener acceso a un objeto UserProfile . A continuación podrá recuperar los perfiles de usuario que tiene acceso el usuario. Acceso completo al perfil de usuario de todo el mundo requiere derechos de "Administrar perfiles de usuario". Acceso completo a su propio perfil requiere derechos de "Uso de las características personales". Todos tiene acceso de lectura a todos los perfiles.

Debe utilizar el objeto de la clase UserProfileConfigManager en lugar del objeto UserProfileManager para administrar metadatos. Acceso a los metadatos que proporciona el objeto UserProfileManager tiene que ser de sólo lectura. Sólo los usuarios que aparecen en la ACL de permisos de la aplicación de servicio de perfil de usuario pueden crear una instancia de un objeto UserProfileManager .

Ejemplos

En el ejemplo de código siguiente se utiliza la clase UserProfileManager .

de Visual Basic

      Public Sub UserProfileSample()
         'get current service context
         Dim strUrl As String = "http://SampleName"
         Dim site as SPSite = new SPSite(strUrl)
         Dim serviceContext As SPServiceContext = SPServiceContext.GetContext(site)

         'initialize user profile config manager object
         Dim upm As New UserProfileManager(serviceContext)
         '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 'UserProfileSample


      Public Sub CreatePersonalSiteSample()
         'get current service context
         Dim serviceContext As SPServiceContext = SPServiceContext.Current

         'initialize user profile config manager object
         Dim upm As New UserProfileManager(serviceContext)
         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 current service context
strUrl = "http://SampleName";
SPSite site = new SPSite(strUrl);
SPServiceContext serviceContext = SPServiceContext.GetContext(site);

//initialize user profile config manager object
UserProfileManager upm = new UserProfileManager(serviceContext);
//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 current service context
SPServiceContext serviceContext = SPServiceContext.Current;

//initialize user profile config manager object
UserProfileManager upm = new UserProfileManager(serviceContext);
string sAccount = "mydomain\\myalias";
UserProfile u = upm.GetUserProfile(sAccount);
u.CreatePersonalSite();
SPSite mysite = u.PersonalSite;
string myurl = u.PersonalUrl;
}

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros UserProfileManager

Espacio de nombres Microsoft.Office.Server.UserProfiles