Office 365 fija en 2 años el tiempo máximo de caducidad de una contraseña, este valor no puede ser eliminado a través de la gui pero sí a través de Powershell pudiendo incluso eliminar esta caducidad. En ciertos escenarios puede interesarnos eliminar esta caducidad, vamos a ver como realizar este sencillo proceso.

powershelllogo

 

En Office 365, como en la mayoría de servicios online, por defecto existe una caducidad de las contraseñas como medida de seguridad. En determinados escenarios y para ciertas cuentas puede interesarnos eliminar esta caducidad. Estamos hablando por ejemplo de cuentas que utilicemos por ejemplo ligadas a scanners, envíos de logs por correo desde diferentes dispositivos.. Es decir cuentas que no vayan a ser utilizadas por personas y que queramos olvidarnos de su mantenimiento.

Vamos a ver como con un sencillo cmdlet podemos desde Powershell eliminar este requerimiento de tener que cambiar la contraseña. Por defecto el tiempo máximo se sitúa en 730 días (2 años), pudiendo fijarlo en periodos inferiores directamente a través de la interfaz web de administración.

Hay que tener en cuenta que solo deberíamos pensar en usar esta opción para determinadas cuentas y que, en mi opinión, nunca debería ser usada para una cuenta normal de correo usada por una persona ya que estaríamos desvirtuando su función de seguridad además de eliminar el componente didáctico para el usuario sobre la seguridad de las contraseñas y cuentas.

Cmdlet get-msoluser

Primero de todo vamos a comprobar el estado de la variable passwordneverexpires en el usuario que nos interese con el siguiente comando

Get-MSOLUser –UserPrincipalName ejemplo@cyberseguridad.net | select passwordneverexpires

Normalmente nos devolverá el valor passwordneverexpires = False.

Cmdlet set-msoluser

Ahora vamos ya a cambiar este valor para que a esta cuenta no le caduque nunca la contraseña con el siguiente comando concatenado, primero lo seleccionamos y luego sobre el mismo aplicamos la acción

Get-MSOLUser –UserPrincipalName ejemplo@cyberseguridad.net | Set-MsolUser -PasswordNeverExpires $true

Ahora si ejecutaramos el comando para comprobar el valor passwordneverexpires, este ya aparecería como true.

Conviene siempre estar atento y conocer que cuentas hemos alterado, para ello podemos ejecutar el siguiente cmdlet que nos informará de todas las cuentas para las cuales hayamos eliminado esa caducidad. En este caso mostrando correo y estado.

Get-MSOLUser | where { $_.passwordNeverExpires -eq "true" } | Select UserPrincipalName, PasswordNeverExpires