2013-07-09 4 views
0

Я пытаюсь добавить пользователя, добавить их в группу и затем сделать эту группу основной группой для пользователя. Я использую System.DirectoryServices.AccountManagement для доступа к AD. Я добавил пользователя с помощью:Использование System.DirectoryServices.AccountManagement, Создание группы первичной группы

principalContext = new PrincipalContext(ContextType.Domain, Globs.strDomain, userOU); 
UserPrincipal userPrincipal = new UserPrincipal(principalContext); 
userPrincipal.Surname = this.textBox_LastName.Text; 
userPrincipal.GivenName = this.textBox_FirstName.Text; 
userPrincipal.SamAccountName = this.textBox_LogonName.Text; 
userPrincipal.MiddleName = this.textBox_Initials.Text; 
userPrincipal.DisplayName = label_DisplayName.Text; 
userPrincipal.Description = this.comboBox_Description.Text; 
userPrincipal.UserPrincipalName = this.textBox_LogonName.Text; 
userPrincipal.SetPassword(defaultPassword); 
userPrincipal.PasswordNeverExpires = true; 
userPrincipal.Enabled = true; 
userPrincipal.Save(); 

Затем я добавить пользователя в группу с помощью:

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, Globs.strDomain)) 
{ 
    GroupPrincipal group = GroupPrincipal.FindByIdentity(pc, groupName); 
    group.Members.Add(pc, IdentityType.UserPrincipalName, userId); 
    group.Save(); 
} 

Есть ли быстрый способ принять эту группу и сделать его первичную группу для пользователь? Как только я сделаю основную группу, я удалю группу по умолчанию «Пользователи домена». Любая помощь приветствуется. -Cary

ответ

0

Это контролируется attribute primaryGroupID. Он не отображается по умолчанию UserPrincipal, поэтому вы должны либо make your own subclass that exposes it, либо использовать более RAW, лежащие в основе , и установить атрибут. не

(UPDATE: 2008 и более ранние статьи журнала MSDN больше не доступны через веб-интерфейс, Вам необходимо скачать January 2008 magazine's chm file и найти статью "Посмотрите его вверх:. Управление принципалов Каталог безопасности в .NET Framework 3,5 ", чтобы увидеть статью о том, чтобы подкласс)

значение атрибута является RID группы, так что вам нужно, чтобы получить primaryGroupToken attribute от новой группы и установить его для пользователей primaryGroupID атрибута.

Смежные вопросы