Share via


Procédure : créer des profils utilisateur dans le magasin de profils utilisateur

La création d'un profil utilisateur dans Microsoft Office SharePoint Server 2007 est semblable à la création d'un profil utilisateur dans Microsoft Office SharePoint Portal Server 2003. À moins d'être configuré différemment, Office SharePoint Server 2007 détecte automatiquement le contrôleur de domaine et importe les informations relatives à l'utilisateur à partir du service d'annuaire Active Directory. Toutefois, vous pouvez définir les paramètres de configuration de source de données pour effectuer l'importation à partir d'un contrôleur de domaine hébergeant Active Directory, un serveur LDAP ou un catalogue de données métiers. Le premier exemple de code crée un profil utilisateur à partir de la connexion principale configurée sur le serveur.

Dans certains cas, il arrive que vous souhaitiez obtenir des valeurs différentes pour certaines propriétés du magasin de profils utilisateur, lors de l'importation d'autres propriétés à partir d'Active Directory ou d'un serveur LDAP. Office SharePoint Server 2007 fournit une méthode surchargée de création de profils utilisateur, qui accepte un paramètre de chaîne supplémentaire représentant le nom préféré de l'utilisateur. Cette méthode vous permet de fournir facilement un autre nom préféré pour un utilisateur lors de la création du profil utilisateur. Le deuxième exemple de code vous montre comment substituer le nom préféré d'un utilisateur et comment remplacer la propriété associée au numéro de téléphone portable.

Avant d'exécuter les exemples de code, remplacez servername, domainname, preferredname, username et nnnnnnnnnn par des valeurs réelles.

Ajoutez également les références suivantes dans votre projet Microsoft Visual Studio :

  • Microsoft.Office.Server

  • Microsoft.SharePoint

  • System.Web

Exemple

Cet exemple crée un profil utilisateur à partir de la connexion principale configurée sur le serveur. Il affiche le message « User profile created » après une exécution réussie.

//Example #1
//Creates a user profile. Obtains the property values from the default 
//domain controller or the master connection that is configured on the 
//server
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint.Administration;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.SharePoint;
using Microsoft.Office.Server;
using System.Web;

namespace UserProfilesConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                using (SPSite site = new SPSite("https://servername"))
                {
                    ServerContext context =
                            ServerContext.GetContext(site);
                    UserProfileManager profileManager = new
                        UserProfileManager(context);
                    string sAccount = "domainname\\username";

                    if (!profileManager.UserExists(sAccount))
                    {
                    UserProfile profile = profileManager.CreateUserProfile(sAccount);

                        if (null == profile)
                            throw new Exception("Failed to Create User with account :" + sAccount);

                        else
                            Console.WriteLine("User profile created.");
                    }
                    else
                        Console.WriteLine("User profile already exists.");

                }
            }
            catch (UserNotFoundException exception)
            {
                Console.WriteLine(exception.ToString());
            }

        }
    }


}

Cet exemple remplace le nom préféré d'un utilisateur ainsi que la propriété associée au numéro de téléphone portable. Il affiche le message « User profile created » après une exécution réussie.

//Example #2
//Creates a user profile. Obtains the property values from the default 
//domain controller or the master connection that is configured on the 
//server.
//Also overwrites the Preferred Name and the Cell Phone property for the user.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint.Administration;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.SharePoint;
using Microsoft.Office.Server;
using System.Web;

namespace UserProfilesApp
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                using (SPSite site = new SPSite("https://servername"))
                {
                    ServerContext context = ServerContext.GetContext(site);

                    UserProfileManager profileManager = new UserProfileManager(context);
                    UserProfile u = null;
                    string sAccount = "domainname\\username";
                    string sPrefered = "preferedname";

                    if (!profileManager.UserExists(sAccount))
                    {
                        u = profileManager.CreateUserProfile(sAccount, sPrefered);
                        u[PropertyConstants.CellPhone].Value = "nnnnnnnnnn";
                        u.Commit();


                        if (null == u)
                            throw new Exception("Failed to Create User with account :" +
                                sAccount);
                        else
                            Console.WriteLine("User profile created.");

                    }
                    else
                        Console.WriteLine("User profile already exists.");



                }
            }
            catch (UserNotFoundException exception)
            {
                Console.WriteLine(exception.ToString());
            }

        }
    }


}

Voir aussi

Autres ressources

Procédure : utiliser le service Web pour modifier les données de profil utilisateur