En ocasiones debemos configurar usuarios locales en sistemas Windows.
Para ello, podemos utilizar las herramientas GUI o bien herramientas desde linea de comandos.
Si preferimos utilizar herramientas de linea de comandos, podemos usar, el comando net user.
Con el comando net user podemos administrar las cuentas de usuario locales desde linea de comandos.
Si ejecutamos: net help user, podemos obtener la lista de parámetros que la herramienta acepta.
Si por ejemplo queremos crear un usuario con el check de: "la contraseña nunca expira" y examinamos la ayuda veremos que existe el parámetro /EXPIRES.
Según la ayuda el parámetro /EXPIRES indica:
/EXPIRES:{fecha | NEVER}
Hace que la cuenta expire si se establece una fecha. NEVER no establece límite de tiempo en la cuenta. La fecha de expiración debe tener el formato mm/dd/aa(aa). Los meses se pueden indicar con números, nombres o abreviaturas de tres letras. El año debe contener 2 o 4 números. Use barras diagonales (/) en lugar de espacios para separar las partes de la fecha.
Hace que la cuenta expire si se establece una fecha. NEVER no establece límite de tiempo en la cuenta. La fecha de expiración debe tener el formato mm/dd/aa(aa). Los meses se pueden indicar con números, nombres o abreviaturas de tres letras. El año debe contener 2 o 4 números. Use barras diagonales (/) en lugar de espacios para separar las partes de la fecha.
Sin embargo, el resultado de su ejecución no es el esperado:
Al ejecutar (Usuario: Sysadmit / Password: P@ssW@rd)
Net User Sysadmit P@ssW@rd /add /expires:never
y revisar la herramienta GUI: lusrmgr.msc
Vemos que la casilla: "La contraseña nunca expira" está desmarcada.
Vemos que la casilla: "La contraseña nunca expira" está desmarcada.
El resultado no es el esperado porque el parámetro /EXPIRES:Never hace referencia a la caducidad de la cuenta, no a la caducidad de la contraseña.
Para establecer la caducidad de la contraseña y que esta nunca expire, deberemos ejecutar el siguiente comando:
WMIC USERACCOUNT WHERE "Name='SysAdmIt'" SET PasswordExpires=FALSE
El resultado es el siguiente:
Pues para mi el resultado es totalmente esperado. La ayuda indica claramente que hace referencia a la caducidad de la cuenta, y no de la contraseña:
ResponderEliminar/EXPIRES:{date | NEVER} Causes the account to expire if date is
set.
¡Gracias por participar en blog!
EliminarEfectivamente, si se lee con detalle lo explica.
El problema es que en muchas ocasiones queremos desactivar la opción: "la contraseña nunca expira" en un usuario local, y eso no lo podemos hacer directamente con el comando Net User, a pesar de que con Net User podemos crear el usuario.
¡Un saludo!
Xavi.
mE DA ERROR GENÉRICO AL EJECUTAR WMIC USERACCOUNT WHERE "Name='SysAdmIt'" SET PasswordExpires=FALSE
ResponderEliminarHola Pablo,
EliminarIgual es que no tienes el usuario en tu sistema: Sysadmit.
Debes substituir el usuario Sysadmit por el usuario que quieres establecer la caducidad de la contraseña y que esta nunca expire.
Un saludo,
Xavi.
Al ejecutar
ResponderEliminar>wmic useraccount where name='Alumno' set passwordexpires=false
Me da error generico
Recuerda ejecutar el CMD como administrador, o si has creado un .bat, también ejecutalo como adminsitrador
ResponderEliminarHola! También se puede utilizar la utilidad "net accounts" con el parámetro "maxpwage -
ResponderEliminarunlimited" pero no recuerdo si aplica a todas las versiones de Windows (por ejemplo XP o versiones recientes de W10 cómo "Home". En las "Professional" y superiores sí funciona:
-Ejecutar una CMD cómo Administrador.
-Escribir: net accounts /maxpwage:unlimited
-Listo!
Excelente su blog! Saludos desde México! :D
¡Muchas gracias por tu aporte!
EliminarSaludos,
Xavi.
Gracias amigo me sirvio de mucha ayuda.
ResponderEliminargracias , explicado perfectamente y es lo que necesitaba
ResponderEliminarSuper buen tip muchas gracis
ResponderEliminar