예제 #1
0
        void Button2Click(object sender, EventArgs e)
        {
            AD.Domain       = txtDomain.Text.Trim();
            AD.LogonServer  = txtLogonserver.Text.Trim();
            AD.UsersProfile = txtProfilePath.Text.Trim();
            AD.ElevesScript = txtElevesScript.Text.Trim();
            AD.ProfsScript  = txtProfsScript.Text.Trim();

            label2.Text = "Création des entrées AD";
            AD.BuildENTOuStructure();

            label2.Text = "Création des entrées de stockage";
            Storage.BuildENTRootDirectoryStructure(cbxLocalDrives.SelectedItem.ToString());

            // crée les comptes via un thread séparé
            accountsCreator.RunWorkerAsync();
        }
예제 #2
0
        public bool CreateAccount()
        {
            bool isExisting;

            using (var user = AD.CreateNewUser(this, out isExisting))
            {
                if (!isExisting)
                {
                    if (IsPupil)
                    {
                        AD.AddUserToGroup(user, "ENT_Eleves", "Élèves présents sur l'ENT");
                        AD.AddUserToGroup(user, AD.CLASSE_GROUPNAME_PREFIX + Division, "Classe de " + Division);
                    }
                    else
                    {
                        AD.AddUserToGroup(user, "ENT_Professeurs", "Professeurs présents sur l'ENT");
                    }
                }
                else
                {
                    if (IsPupil)
                    {
                        string oldDivision = user.GetProperty("division");

                        // si la classe a changé, on migre l'utilisateur
                        if (oldDivision != Division)
                        {
                            AD.UpdateUserGroup(user, AD.CLASSE_GROUPNAME_PREFIX + Division, AD.CLASSE_GROUPDESC_PREFIX + Division);
                            AD.UpdateUserDivision(user, Division);
                            Storage.MoveUserDirectory(SAMAccountName, oldDivision, Division);
                        }
                    }
                }
            }

            return(isExisting);
        }