Freigeben über


UserProfileManager-Klasse

Stellt eine Auflistung von UserProfile -Objekten, die verwendet werden, um die Benutzerprofildaten zugreifen. Wenn ein bestimmtes Benutzerprofil zugreifen möchten, rufen Sie die UserProfileManager -Klasse, um ein UserProfile -Objekt erstellen und dann die entsprechenden Daten aus der Benutzerprofil-Datenbank abrufen.

Vererbungshierarchie

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

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

Syntax

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

Hinweise

Sie müssen das UserProfileManager -Objekt erstellen, bevor Sie ein UserProfile -Objekt zugreifen. Sie können dann die Benutzerprofile abrufen, die der Benutzer zugreifen kann. Vollzugriff auf alle Benutzerprofile sind "Benutzerprofile verwalten" Rechte erforderlich. Vollzugriff auf Ihr eigenes Profil erfordert Rechte "Persönliche Features verwenden". Jeder hat Lesezugriff auf alle Profile.

Sie müssen UserProfileConfigManager Class-Objekt anstelle des UserProfileManager -Objekts verwenden, um Metadaten zu verwalten. Der Zugriff auf Metadaten, die das UserProfileManager -Objekt stellt schreibgeschützt sein soll. Nur die Benutzer in der ACL-Berechtigungen die Benutzerprofil-Dienstanwendung aufgeführt sind, können eine Instanz eines UserProfileManager -Objekts erstellen.

Beispiele

Im folgenden Codebeispiel wird mithilfe die UserProfileManager -Klasse.

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

UserProfileManager-Member

Microsoft.Office.Server.UserProfiles-Namespace