예제 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            checkedListBox1.Items.Clear();
            ADMethodsAccountManagement ADcon = new ADMethodsAccountManagement();

            StaffTableAdapter dAdapt = new StaffTableAdapter();

            ITO_DAL.dsITO.StaffDataTable staffTbl = new dsITO.StaffDataTable();

            dAdapt.Fill(staffTbl);

            string filterString = "State > 0";

            // DataRow[] staff = staffTbl.Select(filterString);
            DataRow[] staff = staffTbl.Select(filterString);

            //Отбражаем организационные единицы верхнего уровня UpDepID NULL
            for (int i = 0; i < staff.Length; i++)
            {
                if (!ADcon.IsUserExisiting(staff[i]["Login"].ToString()))
                {
                    listBox1.Items.Add(staff[i]["Login"].ToString() + " " +
                                       staff[i]["LastName"].ToString() + " " +
                                       staff[i]["Name"].ToString() + " " +
                                       staff[i]["SecondName"].ToString() + " not exist");

                    checkedListBox1.Items.Add(staff[i]["Login"].ToString());
                }
                // staff[i]["Login"].ToString()

                //lbStaff.Items
                //  lvStaff.Items.Add(staff[i]["UserID"].ToString(), staff[i]["LastName"].ToString() + " " +
                // staff[i]["Name"].ToString() + " " + staff[i]["SecondName"].ToString(),0);
            }
        }
예제 #2
0
        private void btnADCheck_Click(object sender, EventArgs e)
        {
            ADMethodsAccountManagement ADcon = new ADMethodsAccountManagement();
            if (ADcon.IsUserExisiting(tbLogin.Text))
                {
                //такой пользователь уже есть
                }
            else
                {
                //такого пользователя нет
                    btnADCreate.Visible = true;

                }
        }
예제 #3
0
        private void btnADSave_Click(object sender, EventArgs e)
        {
            ADMethodsAccountManagement ADcon = new ADMethodsAccountManagement();

            //проверяем, если такой пользователь уже есть
            if (ADcon.IsUserExisiting(tbLogin.Text))
            {
                MessageBox.Show("Такой пользователь уже есть");
                return;
            }

            string password= null;

            PasswordGenerator pass = new PasswordGenerator();
            password = pass.GeneratePassword(5);  //пароль для AD

            UserPrincipal oUserPrincipal = ADcon.CreateNewUser("OU=RASU,DC=vniiaes-asutp,DC=lan", tbLogin.Text, password, txbName.Text, txbLastName.Text);

            oUserPrincipal.DisplayName = txbLastName.Text + " " + txbName.Text + " " + txbSecondName.Text;
            oUserPrincipal.MiddleName = txbSecondName.Text;
            //oUserPrincipal.PasswordNeverExpires = true;
            oUserPrincipal.EmailAddress = lblMainEmail.Text;

            //Добавляем пользователя в группы по умолчанию

            GroupPrincipal oGroupPrincipal = ADcon.GetGroup("OU=Share Permission,DC=vniiaes-asutp,DC=lan", "grpPermLocalUsers");
            if (oGroupPrincipal != null)
            {
                oGroupPrincipal.Members.Add(oUserPrincipal);
                oGroupPrincipal.Save();
            }

            oGroupPrincipal = ADcon.GetGroup("OU=Bitrix, OU=Share Permission,DC=vniiaes-asutp,DC=lan", "1С-Битрикс - Сотрудники");
            if (oGroupPrincipal != null)
            {
                oGroupPrincipal.Members.Add(oUserPrincipal);
                oGroupPrincipal.Save();
            }

               oGroupPrincipal = ADcon.GetGroup("OU=Service Permission,DC=vniiaes-asutp,DC=lan", "Wi-Fi Users");
               if (oGroupPrincipal != null)
                {
                    oGroupPrincipal.Members.Add(oUserPrincipal);
                    oGroupPrincipal.Save();
                }

            oUserPrincipal.Save();

            try
            {
                m_ITOSQLCommand.ExecuteSQLNotQuery(string.Format("update staff set Login='******' where UserID='{1}'",
                                                                                                  tbLogin.Text,
                                                                                                  m_SelectedUserIdx.ToString()));

            }

            catch (SystemException ex)
            {

            }

            if (password != null)
            {
                try
                {
                    m_ITOSQLCommand.ExecuteSQLNotQuery(string.Format("insert into stfPasswords (Password, Type,LastChangerID,UserID) values ('{0}','{1}','{2}','{3}')",
                                                                                                      password,
                                                                                                      (int)ePasswordTypes.AD,
                                                                                                      m_ProgramUserIdx.ToString(),
                                                                                                       m_SelectedUserIdx.ToString()));

                }

                catch (SystemException ex)
                {

                }

            }
        }
예제 #4
0
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            label3.Text = "";

            if (e.RowIndex < 0)
                return;

            ADMethodsAccountManagement ADcon = new ADMethodsAccountManagement();

            if (ADcon.IsUserExisiting(m_NewUser.Rows[e.RowIndex]["login"].ToString()))
            { //такой пользователь уже есть в AD
                label3.Text = m_NewUser.Rows[e.RowIndex]["login"].ToString() + " уже существует в AD " + ADcon.GetUserFIO(m_NewUser.Rows[e.RowIndex]["login"].ToString());

            }
        }