Dentro de las tareas administrativas que tenemos que realizar como personal encargado de IT es la gestión de todos los usuarios que forman parte de nuestra organización y por ende de nuestra infraestructura de red. La administración de usuarios con PowerShell en Windows 10 es muy interesante tenerlo siempre a mano.
Sabemos que los usuarios sufren diversos tipos de cambios, bien sea porque el usuario se retire de la organización, porque puede ser un usuario temporal o simplemente por orden de RRHH o de Gerencia se establece una fecha específica para que la cuenta del usuario caduque.
El problema nos puede surgir si por alguna razón, y sin duda aparecerá, es que debemos generar reportes sobre que usuarios han sido deshabilitados o su cuenta ha expirado para tener un control específico en estos usuarios ya que en muchas organizaciones se siguen teniendo en cuenta este tipo de usuarios aun cuando ya no pertenecen a la organización, por ejemplo, el área de finanzas envía semanalmente un reporte a una lista de distribución específica y si uno de los usuarios de dicha lista ya no pertenece a la organización se retornará un mensaje de error al remitente indicando que la cuenta no existe.
En este análisis vamos a ver cómo podemos usar Windows PowerShell para visualizar que usuarios han sido deshabilitados o su cuenta ha expirado. Esta búsqueda es vital para organizaciones que poseen muchos usuarios y la búsqueda manual es prácticamente imposible.
1. Buscar cuentas deshabilitadas con PowerShell
Para realizar este tipo de búsqueda vamos a abrir Windows PowerShell y debemos ingresar el siguiente cmdlet:
Search-ADAccount -AccountDisabledGracias a este cmdlet vamos a visualizar las diversas cuentas que están deshabilitadas en la organización.
Al usar este cmdlet obtendremos la siguiente vista:
Podemos notar que vemos detalles específicos acerca de los usuarios deshabilitados como:
- Fecha de expiración de la cuenta (Si aplica)
- Nombre del usuario deshabilitado
- PasswordExpire: Nos permite definir si la contraseña del usuario ha expirado
- ID del usuario, entre otros valores.
2. Buscar cuentas usuario que han expirado con PowerShell
Otro de las posibilidades que tenemos es buscar aquellos usuarios que por algún motivo se ha definido una fecha específica para que su cuenta fuera deshabilitada. Para ver este tipo de usuarios usaremos el siguiente cmdlet:
Search-ADAccount -AccountExpiredVeremos el siguiente resultado:
Podemos ver información específica de los usuarios cuya cuenta ha expirado como:
- AccountExpirationDate: Fecha exacta en la que expiró la cuenta del usuario
- Name: Nombre del usuario
- UserPrincipalName: Nombre con el cual el usuario iniciaba sesión en el dominio
- DistinguishedName: Indica la ruta exacta donde se encuentra el usuario
3. Buscar cuentas usuario inactivas con PowerShell
Otra de las búsquedas que podemos realizar mediante Windows PowerShell es buscar aquellas cuentas que están inactivas, estas cuentas pueden ser las que han expirado o aquellas cuentas que después de un periodo determinado de no usarse el sistema las inactiva. Para ver estos usuarios inactivos usaremos el siguiente cmdlet:
Search-ADAccount -AccountInactiveEste será el resultado obtenido:
Al igual que en las anteriores vistas tenemos diferentes parámetros asociados a estos usuarios. Recordemos que administrando el Directorio Activo de Windows Server 2016 podemos deshabilitar usuarios y equipos, razón por la cual si usamos el cmdlet Search-ADAccount -AccountDisabled veremos todos los objetos (usuarios y equipos), para visualizar únicamente un objeto específico debemos agregar lo siguiente:
Search-ADAccount -AccountDisabled -UsersOnly (ver los usuarios) Search-ADAccount -AccountDisabled -ComputersOnly (ver los equipos)Hemos visto cómo podemos usare el cmdlet Search-ADAccount para visualizar los distintos tipos de usuarios que tenemos dentro de nuestro dominio. Para terminar te dejamos un tutorial con comandos de PowerShell muy útiles: