Dentro del módulo ActiveDirectory disponible en PowerShell podemos encontrar un amplio repertorio de comandos, los cuales permiten realizar tareas de administración y configuración de un Active Directory de igual forma que lo haríamos con las herramientas gráficas habituales. En el caso de tener cuentas de usuario bloqueadas podemos hacer uso de los siguientes Cmdlet, que muchas veces es una forma más rápida y directa de tratar con ellas.

El siguiente comando nos sacará una lista de todas las cuentas que están bloqueadas actualmente (podemos sustituir Select-Object por FT):

Search-ADAccount -LockedOut -UsersOnly | Select-Object Name, SamAccountName

Si lo que queremos es comprobar el bloqueo de la cuenta de un usuario concreto utilizamos:

Get-ADUser -Identity nombre_usuario -Properties LockedOut | Select-Object samaccountName,Lockedout

que nos devuelve en la propiedad LockedOut el valor True, si la cuenta está bloqueada, o False, en caso de no estarlo. Este comando devuelve el nombre de usuario y el valor de la propiedad LockedOut en dos columnas, junto con el título de las mismas. Si queremos obtener solamente el valor de la propiedad LockedOut, para guardarlo en una variable por ejemplo:

$bloqueo=(Get-ADUser -Identity nombre_usuario -Properties LockedOut).Lockedout


Para desbloquear una cuenta de usuario ejecutaremos la siguiente sentencia:

Unlock-ADAccount nombre_usuario -Confirm

donde el parámetro -Confirm nos obligará a confirmar que realmente queremos desbloquear la cuenta. Si no se indica se desbloquerá la cuenta directamente. Una forma alternativa es la siguiente:

Get-ADUser -Identity nombre_usuario | Unlock-ADAccount -Confirm



Se pueden ver los comandos disponibles en el módulo ActiveDirectory mediante Get-Command -module ActiveDirectory