Search code examples
c#.netactive-directorydirectoryentry

Work with DirectoryEntry not on a Domain, set user password never expire


I want to put the user password check to never expire. When I create the user, the check is always unchecked.

My code.

DirectoryEntry user = root.Children.Add(adUserName, "user");
          // NOTE(cboivin): Documentation : http://msdn.microsoft.com/en-us/library/aa746340(VS.85).aspx         
          user.Invoke("SetPassword", new object[] { adUserPassword });
          // NOTE(cboivin): Ne pas mettre les clefs dans les ressources, Description, PasswordExpirationDate, AccountExpirationDate
          user.Invoke("Put", new object[] { "Description", Nms.SiteAccess.Business.Manager.ActiveDirectory._resources.WindowsPermissionManager.UserCreerAutomatiquement + args.AddDescriptif });
          user.Invoke("Put", new object[] { "PasswordExpirationDate", args.PasswordExpiration });
          user.Invoke("Put", new object[] { "AccountExpirationDate", args.AccountExpiration });

          user.CommitChanges();

Solution

  • Check out this SO thread ...

    user.Invoke("Put", new object[] {"UserFlags", 0x10000});