cómo cambiar la contraseña de la cuenta de usuario, por código C#?cómo cambiar la contraseña de la cuenta de usuario, por código C#?
Respuesta
Uso del directorio activo:
// Connect to Active Directory and get the DirectoryEntry object.
// Note, ADPath is an Active Directory path pointing to a user. You would have created this
// path by calling a GetUser() function, which searches AD for the specified user
// and returns its DirectoryEntry object or path. See http://www.primaryobjects.com/CMS/Article61.aspx
DirectoryEntry oDE;
oDE = new DirectoryEntry(ADPath, ADUser, ADPassword, AuthenticationTypes.Secure);
try
{
// Change the password.
oDE.Invoke("ChangePassword", new object[]{strOldPassword, strNewPassword});
}
catch (Exception excep)
{
Debug.WriteLine("Error changing password. Reason: " + excep.Message);
}
Aquí tienes ejemplo para cambiarla en la cuenta de usuario local:
http://msdn.microsoft.com/en-us/library/ms817839
Otra alternativa podría ser el uso de la interoperabilidad y llamar al código no administrado: netapi32.dll
http://msdn.microsoft.com/en-us/library/aa370650(VS.85).aspx
Gracias por su ayuda, ¿cómo puedo obtener ADPath? necesidad de usar con ActiveDS, de ser así, ¿cómo? –
Lo sentimos, el enlace en el código está oculto, quizás el desbordamiento de la pila podría mejorar esto :-) Aquí está el enlace al uso general de AD y cómo construir el ADPath: http://www.primaryobjects.com/CMS/Article61 .aspx –
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
DirectoryEntry grp;
grp = AD.Children.Find("test", "user");
if (grp != null)
{
grp.Invoke("SetPassword", new object[] { "test" });
}
grp.CommitChanges();
MessageBox.Show("Account Change password Successfully");
"correr en administrador para cambiar todo usuario
Aquí está una manera más sencilla de hacer esto, sin embargo se necesita hacer referencia System.DirectoryServices.AccountManagement de .Net 4,0
namespace PasswordChanger
{
using System;
using System.DirectoryServices.AccountManagement;
class Program
{
static void Main(string[] args)
{
ChangePassword("domain", "user", "oldpassword", "newpassword");
}
public static void ChangePassword(string domain, string userName, string oldPassword, string newPassword)
{
try
{
using (var context = new PrincipalContext(ContextType.Domain, domain))
using (var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, userName))
{
user.ChangePassword(oldPassword, newPassword);
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}
}
Funciona muy bien incluso sin privilegios de administrador, gracias Paul. – mberna
- 1. ¿Cómo cambiar la contraseña de usuario de Drupal programáticamente?
- 2. Verificar el nombre de usuario y la contraseña de la cuenta de Windows
- 3. Cambiar la contraseña de usuario de Linux del script PHP
- 4. Cómo eliminar la cuenta de usuario de Windows usando C#
- 5. Jenkins creó automáticamente una cuenta de usuario, cómo iniciar sesión/cambiar contraseña?
- 6. Cómo verificar C# si la cuenta de usuario está activa
- 7. Utilice ALTER LOGIN para cambiar la propia contraseña del usuario
- 8. Cambiar la contraseña del administrador local en C#
- 9. cambiar el estado de la cuenta de usuario de Oracle de EXPIRE (GRACE) a OPEN
- 10. Idea: ¿Crear usuario sin contraseña y luego requerir contraseña para usar la cuenta?
- 11. Error de WebMatrix "La contraseña especificada para la cuenta de usuario 'raíz' no es válida ...."
- 12. Cambiar contraseña de usuario en autenticación de formularios ASP.NET
- 13. Symfony2: ¿Cómo mostrar el nombre de la cuenta de administrador al suplantar la cuenta de usuario?
- 14. ¿Cómo se cuenta la subversión comete por usuario
- 15. ¿Cómo cambiar manualmente la contraseña en la membresía de asp.net?
- 16. cómo desbloquear una cuenta de usuario de ASPNETDB después de un bloqueo de cuenta de contraseña incorrecto?
- 17. Obligar al usuario local a cambiar la contraseña en el siguiente inicio de sesión con C#
- 18. android get gmail nombre de usuario y contraseña del administrador de la cuenta
- 19. Almacenar la contraseña por separado desde el nombre de usuario
- 20. Cambiar la contraseña de root del script
- 21. Cómo cambiar la contraseña de administrador en jackrabbit
- 22. Crear cuenta de usuario local C# y .NET 2.0
- 23. Cómo cambiar la contraseña LDAP a través de JNDI
- 24. Oracle: ¿cómo desactivar la contraseña del usuario?
- 25. ¿Cómo puedo aumentar la longitud del nombre de usuario de la cuenta de usuario PhpMyAdmin/mysql?
- 26. Active Directory (LDAP) - Comprobar la cuenta bloqueada/contraseña expiró
- 27. Obligar al usuario a cambiar la contraseña caducada en la seguridad de primavera
- 28. "Por favor, confirme qué usuario está cambiando la contraseña para"
- 29. ¿Existe alguna forma mejor de cambiar la contraseña de usuario en cakephp usando Auth?
- 30. La mejor manera de manejar la autenticación de cuenta de usuario y las contraseñas
Qué usuario de ¿cuenta? ¿Dominio? Cualquier aplicación? ¿Sistema? –
¿Qué cuenta de usuario ?????? – TalentTuner
Podría ser una tontería de esta pregunta (dependiendo de qué contraseña quiera cambiar): http://stackoverflow.com/questions/234845/change-local-administrator-password-in-c –