private
void
button1_Click(
object
sender, EventArgs e)
...{
// 获取 OU
ADOrganizationalUnit ou = ADManager.LoadOU( " TestOU " );
Console.WriteLine(ou.DistinguishedName);
// 获取该 OU 下所有用户(包括所有下级OU)
IList < ADUser > allUsers = ADManager.LoadAllUsers(ou.DistinguishedName, true );
Console.WriteLine(allUsers.Count.ToString());
// 获取该 OU 下所有用户(不包括所有下级OU, 仅该OU里)
IList < ADUser > subUsers = ADManager.LoadAllUsers(ou.DistinguishedName, false );
Console.WriteLine(subUsers.Count.ToString());
// 在 OU 下创建用户。并且激活该用户和设置用户帐号密码永不过期。
ADUser user = ADManager.CreateUser(ou.DistinguishedName, " 通用名 " , " MyAccount " , " MyPassword@1 " , AccountOptions.ADS_UF_NORMAL_ACCOUNT | AccountOptions.ADS_UF_DONT_EXPIRE_PASSWD);
// 在 OU 下创建组,该组默认为全局安全组。
ADGroup group = ADManager.CreateGroup(ou.DistinguishedName, " MyGroup " );
// 把用户加入指定组里
ADManager.AddUserToGroup(user.AccountName, group.Name);
// 把用户从指定组里移除
ADManager.RemoveUserFromGroup(user.AccountName, group.Name);
// 禁用用户
ADManager.SetUserAccountOptions(user.AccountName, AccountOptions.ADS_UF_ACCOUNTDISABLE);
// 启用用户并设置用户密码永不过期
ADManager.SetUserAccountOptions(user.AccountName, AccountOptions.ADS_UF_NORMAL_ACCOUNT | AccountOptions.ADS_UF_DONT_EXPIRE_PASSWD);
// 获取用户所属的所有用户组
IList < ADGroup > userGroups = user.Groups;
foreach (ADGroup userGroup in userGroups)
...{
Console.WriteLine(userGroup.Name);
}
// 获取组里所有用户
IList < ADUser > groupUsers = group.Users;
foreach (ADUser groupUser in groupUsers)
...{
Console.WriteLine(groupUser.AccountName);
}
// 更新用户信息
user.Company = " User Company " ;
user.Department = " Sales " ;
user.Email = " myaccount@demo.local " ;
user.Mobile = " 13333333333 " ;
user.Url = " http://homepage " ;
user.ExtensionAttribute1 = " my custom info " ;
user.Title = " CAO " ;
// ......
user.Update();
// 删除用户和组和OU
ADManager.DeleteUser(user.AccountName);
ADManager.DeleteGroup(group.Name);
}
...{
// 获取 OU
ADOrganizationalUnit ou = ADManager.LoadOU( " TestOU " );
Console.WriteLine(ou.DistinguishedName);
// 获取该 OU 下所有用户(包括所有下级OU)
IList < ADUser > allUsers = ADManager.LoadAllUsers(ou.DistinguishedName, true );
Console.WriteLine(allUsers.Count.ToString());
// 获取该 OU 下所有用户(不包括所有下级OU, 仅该OU里)
IList < ADUser > subUsers = ADManager.LoadAllUsers(ou.DistinguishedName, false );
Console.WriteLine(subUsers.Count.ToString());
// 在 OU 下创建用户。并且激活该用户和设置用户帐号密码永不过期。
ADUser user = ADManager.CreateUser(ou.DistinguishedName, " 通用名 " , " MyAccount " , " MyPassword@1 " , AccountOptions.ADS_UF_NORMAL_ACCOUNT | AccountOptions.ADS_UF_DONT_EXPIRE_PASSWD);
// 在 OU 下创建组,该组默认为全局安全组。
ADGroup group = ADManager.CreateGroup(ou.DistinguishedName, " MyGroup " );
// 把用户加入指定组里
ADManager.AddUserToGroup(user.AccountName, group.Name);
// 把用户从指定组里移除
ADManager.RemoveUserFromGroup(user.AccountName, group.Name);
// 禁用用户
ADManager.SetUserAccountOptions(user.AccountName, AccountOptions.ADS_UF_ACCOUNTDISABLE);
// 启用用户并设置用户密码永不过期
ADManager.SetUserAccountOptions(user.AccountName, AccountOptions.ADS_UF_NORMAL_ACCOUNT | AccountOptions.ADS_UF_DONT_EXPIRE_PASSWD);
// 获取用户所属的所有用户组
IList < ADGroup > userGroups = user.Groups;
foreach (ADGroup userGroup in userGroups)
...{
Console.WriteLine(userGroup.Name);
}
// 获取组里所有用户
IList < ADUser > groupUsers = group.Users;
foreach (ADUser groupUser in groupUsers)
...{
Console.WriteLine(groupUser.AccountName);
}
// 更新用户信息
user.Company = " User Company " ;
user.Department = " Sales " ;
user.Email = " myaccount@demo.local " ;
user.Mobile = " 13333333333 " ;
user.Url = " http://homepage " ;
user.ExtensionAttribute1 = " my custom info " ;
user.Title = " CAO " ;
// ......
user.Update();
// 删除用户和组和OU
ADManager.DeleteUser(user.AccountName);
ADManager.DeleteGroup(group.Name);
}