SharePoint 2013: Comment Créer par Programmation des MySites pour tous les Utilisateurs d'un Groupe (fr-FR)

SharePoint 2013: Comment Créer par Programmation des MySites pour tous les Utilisateurs d'un Groupe (fr-FR)

Note : Cet article est une traduction.

Récemment, les administrateurs de site voulaient créer par programmation des MySites pour tous les utilisateurs d'un groupe Sharepoint, et cette exigence était récurrente. 
C'est pourquoi j'ai () développé un outil pour mener cela à bien.

Cet outil prend 2 paramètres en entrée :


1. URL du site (dans lequel le groupe d'utilisateurs est créé)
2. Nom du groupe d'utilisateurs.

Cet outil viendra chercher les utilisateurs du groupe un par un et vérifiera si un MySite existe ou non pour cet utilisateur. S'il n'existe pas, un MySite serait créée et un message serait publié, de même dans le cas où un MySite existe le même message serait publié. Les blocs Try catch servent à intercepter et à afficher des messages des exceptions.

Le code est ci-dessous :

using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
 
namespace MysiteCreation
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Please enter the site URL");
                String url = Console.ReadLine();
                SPSite site = new SPSite(url);
                SPWeb web = site.OpenWeb();
                SPServiceContext serviceContext = SPServiceContext.GetContext(site);
                Console.WriteLine("Please enter the group name");
                String groupName = Console.ReadLine();
                UserProfileManager userProfileManager = new UserProfileManager(serviceContext);
                SPGroup group = web.Groups[groupName];
                SPUserCollection users = group.Users;
                foreach (SPUser user in users)
                {
                    if (userProfileManager.UserExists(user.LoginName))
                    {
                        UserProfile uProfile = userProfileManager.GetUserProfile(user.RawSid);
                        if (uProfile.PersonalSite != null)
                        {
                            Console.WriteLine("Mysite Already exists for the user " + uProfile.AccountName);
                        }
                        else
                        {
                            uProfile.CreatePersonalSite();
                            Console.WriteLine("Mysite successfully created for the user " + uProfile.AccountName);
                        }
                    }
                }
                Console.WriteLine("This is completed, please press any key to exit");
                Console.ReadLine();
            }
 
 
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}


Autres Langues

Cet article est également disponible dans les langues suivantes :