private void btnAdd_Click(object sender, EventArgs e) { if (_rightschanged) { //Если отредактированы права, но не сохранены - сохраняем lvUsers_SelectedIndexChanged(null, null); } ADUserPicker au = new ADUserPicker(); au.Filter = 3; if (au.ShowDialog() == DialogResult.OK) { if (_remoteusers.GetItem(au.UserSid) != null) { MessageBox.Show("Указанный пользователь уже имеется в списке"); } else { NTUsersItem nu = new NTUsersItem(); nu.Sid = au.UserSid; //nu.Name = au.UserName; nu.Allow = 0x01ff; //Allow all _remoteusers.Items.Add(nu); } } au.Dispose(); UpdateUsersList(); }
public void UpdateUsersList() { lvUsers.Items.Clear(); foreach (NTUsersItem ntuser in _remoteusers.Items) { string _name = ntuser.Sid; string _grp = ""; int icon = 0; if (ntuser.Name == _name) { try { DirectoryEntry de; if ((de = ADUserPicker.ADGetObject(ntuser.Sid)) != null) { _name = de.Properties["name"].Value.ToString(); ntuser.Name = _name; ntuser.IsGroup = (de.SchemaClassName == "group") ? true : false; if (ntuser.IsGroup) { icon = 2; _grp = "Группа"; } else { icon = 1; _grp = "Пользователь"; } } } catch { } } else { _name = ntuser.Name; if (ntuser.IsGroup) { icon = 2; _grp = "Группа"; } else { icon = 1; _grp = "Пользователь"; } } ListViewItem lvi = new ListViewItem(_name, icon); lvi.Tag = ntuser.Sid; lvi.SubItems.Add(_grp); lvUsers.Items.Add(lvi); Application.DoEvents(); } }