#region Search Methods /// \<summary\> /// Gets a certain user on Active Directory /// \</summary\> /// \<param name="sUserName"\>The username to get\</param\> /// \<returns\>Returns the UserPrincipal Object\</returns\> public UserPrincipal GetUser(string sUserName) { PrincipalContext oPrincipalContext = GetPrincipalContext(); UserPrincipal oUserPrincipal = UserPrincipal.FindByIdentity(oPrincipalContext, sUserName); return oUserPrincipal; } /// <summary> /// Gets a certain group on Active Directory /// </summary> /// <param name="sGroupName">The group to get</param> /// <returns>Returns the GroupPrincipal Object</returns> public GroupPrincipal GetGroup(string sGroupName) { PrincipalContext oPrincipalContext = GetPrincipalContext(); GroupPrincipal oGroupPrincipal = GroupPrincipal.FindByIdentity(oPrincipalContext, sGroupName); return oGroupPrincipal; } #endregion #region User Account Methods /// <summary> /// Sets the user password /// </summary> /// <param name="sUserName">The username to set</param> /// <param name="sNewPassword">The new password to use</param> /// <param name="sMessage">Any output messages</param> public void SetUserPassword(string sUserName, string sNewPassword, out string sMessage) { try { UserPrincipal oUserPrincipal = GetUser(sUserName); oUserPrincipal.SetPassword(sNewPassword); sMessage = ""; } catch (Exception ex) { sMessage = ex.Message; } } /// <summary> /// Enables a disabled user account /// </summary> /// <param name="sUserName">The username to enable</param> public void EnableUserAccount(string sUserName) { UserPrincipal oUserPrincipal = GetUser(sUserName); oUserPrincipal.Enabled = true; oUserPrincipal.Save(); } /// <summary> /// Force disbaling of a user account /// </summary> /// <param name="sUserName">The username to disable</param> public void DisableUserAccount(string sUserName) { UserPrincipal oUserPrincipal = GetUser(sUserName); oUserPrincipal.Enabled = false; oUserPrincipal.Save(); } /// <summary> /// Force expire password of a user /// </summary> /// <param name="sUserName">The username to expire the password</param> public void ExpireUserPassword(string sUserName) { UserPrincipal oUserPrincipal = GetUser(sUserName); oUserPrincipal.ExpirePasswordNow(); oUserPrincipal.Save(); } /// <summary> /// Unlocks a locked user account /// </summary> /// <param name="sUserName">The username to unlock</param> public void UnlockUserAccount(string sUserName) { UserPrincipal oUserPrincipal = GetUser(sUserName); oUserPrincipal.UnlockAccount(); oUserPrincipal.Save(); } /// <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; oUserPrincipal.Save(); return oUserPrincipal; } else { return GetUser(sUserName); } } /// <summary> /// Deletes a user in Active Directory /// </summary> /// <param name="sUserName">The username you want to delete</param> /// <returns>Returns true if successfully deleted</returns> public bool DeleteUser(string sUserName) { try { UserPrincipal oUserPrincipal = GetUser(sUserName); oUserPrincipal.Delete(); return true; } catch { return false; } } #endregion |
手机版|小黑屋|BC Morning Website ( Best Deal Inc. 001 )
GMT-8, 2026-5-27 19:16 , Processed in 0.013721 second(s), 16 queries .
Supported by Weloment Group X3.5
© 2008-2026 Best Deal Online