Я пишу следующий метод для добавления пользователей в активный каталог в пользовательскую группу на C#. У меня есть OU с именем «SHO Users» и sub-ou с именем «SHO Sharepoint User» Все мои пользователи сохранены под sub-ou. У меня есть группа под первым пользователем «SHO Users» под названием «Test GRP». Мне нужно добавить некоторых пользователей в группу «Test GRP» со следующим кодом, но не повезло. Я буду очень признателен за любую помощь. БлагодаряC# Добавить пользователя LDAP в группу
public void AddToGroup(string userDn, string groupDn)
{
try
{
DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + groupDn);
dirEntry.Properties["member"].Add(userDn);
dirEntry.CommitChanges();
dirEntry.Close();
}
catch (System.DirectoryServices.DirectoryServicesCOMException E)
{
//doSomething with E.Message.ToString();
}
}
protected void btnAdd_Click(object sender, EventArgs e)
{
string UserId = txtFirstname.Text + " " + txtLastname.Text;
AddToGroup("CN=" + UserId + ",OU=SHO Sharepoint User,OU=SHO Users,dc=test,dc=com", "CN=Test GRP,CN=Groups,DC=test,DC=com");
}
Если вы используете .Net 3.5, вы должны использовать пространство имен System.DirectoryServices.AccountManagement (http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement(v=vs.90) .aspx). – Kevin
К сожалению, я не на .Net 3.5, и я думаю, что у меня нет выбора, просто используя функции directoryentry. – Armin
Имеет ли учетная запись, работающая с этим, разрешение добавлять членов в группу? Из того, что я помню, работа с DirectoryEntries была чрезвычайно чувствительной в этом вопросе. Вам необходимо убедиться, что идентификатор пула приложений имеет это разрешение домена, или вам нужно будет обернуть вызов в контексте олицетворения пользователя, который делает – Kevin