本文整理汇总了C#中System.DirectoryServices.AccountManagement.UserPrincipal.UnlockAccount方法的典型用法代码示例。如果您正苦于以下问题:C# UserPrincipal.UnlockAccount方法的具体用法?C# UserPrincipal.UnlockAccount怎么用?C# UserPrincipal.UnlockAccount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.DirectoryServices.AccountManagement.UserPrincipal
的用法示例。
在下文中一共展示了UserPrincipal.UnlockAccount方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateNewUser
/// <summary>
/// Creates a new user on Active Directory
/// </summary>
/// <param name="sOU">The OU location you want to save your user</param>
/// <param name="sUserName">The username of the new user</param>
/// <param name="sPassword">The password of the new user</param>
/// <param name="sGivenName">The given name of the new user</param>
/// <param name="sSurname">The surname of the new user</param>
/// <returns>returns the UserPrincipal object</returns>
public UserPrincipal CreateNewUser(string sOU, string sUserName, string sPassword, string sGivenName, string sSurname)
{
if (!IsUserExisiting(sUserName))
{
PrincipalContext oPrincipalContext = GetPrincipalContext(sOU);
UserPrincipal oUserPrincipal = new UserPrincipal(oPrincipalContext, sUserName, sPassword, true /*Enabled or not*/);
//User Log on Name
oUserPrincipal.UserPrincipalName = sUserName;
oUserPrincipal.GivenName = sGivenName;
oUserPrincipal.Surname = sSurname;
if (oUserPrincipal.IsAccountLockedOut())
oUserPrincipal.UnlockAccount();
oUserPrincipal.Save();
return oUserPrincipal;
}
else
{
return GetUser(sUserName);
}
}
示例2: CreateSimpleAdUser
public static string CreateSimpleAdUser(string username, string password, string name, string description, string adPath = "OU=Users,OU=UNIT,DC=UN1T,DC=GROUP")
{
using (WindowsImpersonationContextFacade impersonationContext
= new WindowsImpersonationContextFacade(
nc))
{
bool userIsExist = false;
DirectoryEntry directoryEntry = new DirectoryEntry(DomainPath);
using (directoryEntry)
{
//Если пользователь существует
DirectorySearcher search = new DirectorySearcher(directoryEntry);
search.Filter = String.Format("(&(objectClass=user)(sAMAccountName={0}))", username);
SearchResult resultUser = search.FindOne();
userIsExist = resultUser != null && resultUser.Properties.Contains("sAMAccountName");
}
if (!userIsExist)
{
//Создаем аккаунт в AD
using (
var pc = new PrincipalContext(ContextType.Domain, "UN1T", adPath))
{
using (var up = new UserPrincipal(pc))
{
up.SamAccountName = username;
up.UserPrincipalName = username + "@unitgroup.ru";
up.SetPassword(password);
up.Enabled = true;
up.PasswordNeverExpires = true;
up.UserCannotChangePassword = true;
up.Description = description;
//up.DistinguishedName = "DC=unitgroup.ru";
try
{
up.Save();
}
catch (PrincipalOperationException ex)
{
}
up.UnlockAccount();
}
}
}
directoryEntry = new DirectoryEntry(DomainPath);
using (directoryEntry)
{
//DirectoryEntry user = directoryEntry.Children.Add("CN=" + username, "user");
DirectorySearcher search = new DirectorySearcher(directoryEntry);
search.Filter = String.Format("(&(objectClass=user)(sAMAccountName={0}))", username);
search.PropertiesToLoad.Add("objectsid");
search.PropertiesToLoad.Add("samaccountname");
search.PropertiesToLoad.Add("userPrincipalName");
search.PropertiesToLoad.Add("mail");
search.PropertiesToLoad.Add("usergroup");
search.PropertiesToLoad.Add("displayname");
search.PropertiesToLoad.Add("givenName");
search.PropertiesToLoad.Add("sn");
search.PropertiesToLoad.Add("title");
search.PropertiesToLoad.Add("telephonenumber");
search.PropertiesToLoad.Add("homephone");
search.PropertiesToLoad.Add("mobile");
search.PropertiesToLoad.Add("manager");
search.PropertiesToLoad.Add("l");
search.PropertiesToLoad.Add("company");
search.PropertiesToLoad.Add("department");
SearchResult resultUser = search.FindOne();
if (resultUser == null) return String.Empty;
DirectoryEntry user = resultUser.GetDirectoryEntry();
//SetProp(ref user, ref resultUser, "mail", mail);
SetProp(ref user, ref resultUser, "displayname", name);
SetProp(ref user, ref resultUser, "givenName", username);
SetProp(ref user, ref resultUser, "sn", name);
SetProp(ref user, ref resultUser, "title", description);
//SetProp(ref user, ref resultUser, "telephonenumber", workNum);
//SetProp(ref user, ref resultUser, "mobile", mobilNum);
SetProp(ref user, ref resultUser, "l", description);
SetProp(ref user, ref resultUser, "company", name);
SetProp(ref user, ref resultUser, "department", "-");
//SetProp(ref user, ref resultUser, "manager", "");
//user.Properties["jpegPhoto"].Clear();
//SetProp(ref user, ref resultUser, "jpegPhoto", photo);
user.CommitChanges();
SecurityIdentifier sid = new SecurityIdentifier((byte[])resultUser.Properties["objectsid"][0],
0);
return sid.Value;
}
return String.Empty;
}
//.........这里部分代码省略.........
示例3: HabilitarUsuario
/// <summary>
/// Habilita un usuario
/// </summary>
/// <param name="usuario">Usuario que se quiere habilitar</param>
public void HabilitarUsuario(UserPrincipal usuario)
{
usuario.Enabled = true;
usuario.UnlockAccount();
usuario.Save();
}