Cómo activar y configurar BitLocker a través de PowerShell en Windows

Escrito por Sergio De Luz

BitLocker es una herramienta incluida en los sistemas operativos de Microsoft Windows desde la versión de Windows Vista para los ordenadores de sobremesa y desde la versión 2008 para los servidores, que permite cifrar los datos de unidades de disco internas de arranque y de datos y unidades externas y memorias flash USB. Hoy os vamos a enseñar cómo activar y configurar BitLocker a través de PowerShell en Windows.

Existen varias formas de activar BitLocker en una unidad de disco:

  • Panel de control
  • Centro de actividades
  • Explorador de archivos
  • Línea de comandos
  • PowerShell

Para entender mejor de este artículo es recomendable haber leído previamente los dos anteriores sobre BitLocker “Proteger los datos de nuestros discos con Bitlocker en Windows 10” y “Usando la línea de comandos para activar y configurar BitLocker“.

PowerShell es una consola de comandos similar a la consola de comandos de MS-DOS pero mucho más potente, es un entorno de programación integrado que nos permite escribir programas para gestionar y automatizar tareas en la administración de sistemas y en cualquier ordenador que soporte el sistema operativo Microsoft Windows. Además de la funcionalidad de una línea de comandos como la de MS-DOS, tiene la posibilidad de trabajar con objetos, programas y scripts de gran potencia que sustituyen a los antiguos ficheros de proceso por lotes, ficheros .bat. Soporta todas las funcionalidades de la consola de comandos de MS-DOS más sus propios comandos internos llamados cmdlets o command-lets.

PowerShell se presentó por parte de Microsoft en el año 2006 y apareció por primera vez junto al sistema operativo Microsoft Windows Vista; desde entonces viene integrado en todos los sistemas operativos de Microsoft tanto de escritorio como servidores. Microsoft tiene previsto que tanto la consola de comandos de MS-DOS como los ficheros .bat sean sustituidos por esta herramienta.

Tiene dos ejecutables o versiones tanto para 32-bits como para 64-bits: powershell.exe y powershell_ise.exe. Powershell.exe abre una consola de comandos similar a la consola de comandos de MS-DOS pero con toda la potencia de los cmdlets de PowerShell. Para abrir la consola de PowerShell pulsamos la tecla Windows + R, escribimos powershell y pulsamos la tecla de entrada o pinchando en buscar y escribiendo powershell; prestar atención a que versión de PowerShell escogemos.

bitlocker_powershell_1

bitlocker_powershell_2

Powershell_ise.exe es un entorno de programación muy potente que integra una consola de comandos, un panel para escribir scripts y un panel con los cmdlets de PowerShell. Lo ejecutamos de forma similar a su consola: Windows + R, escribimos powershell_ise.exe o mediante la tecla buscar. Es importante que ejecutemos powershell_ise.exe con privilegios de administrador para que podamos ejecutar los siguientes cmdlets que requieren privilegios de administrador.

bitlocker_powershell_3

En este artículo nos vamos a centrar en el entorno integrado de PowerShell por las facilidades que nos ofrece para ver los cmdlets de PowerShell que nos permiten activar y gestionar BitLocker en unidades de disco y sus parámetros, esto nos ahorra escribir los comandos y sus parámetros.

Las tareas para utilizar PowerShell para activar BitLocker en una unidad de disco son similares conceptualmente a las realizadas con la utilidad de la línea de comandos manage-bde.exe, aunque con la potencia de los objetos y la capacidad para generar scripts de PowerShell. Vamos a detallar dichas tareas y ver cómo se realizan desde PowerShell.

Ver el estado de activación de BitLocker en una unidad de disco.

  • Añadir Protectores al cifrado de BitLocker.
  • Activando BitLocker en un disco.
  • Bloquear, desbloquear y autodesbloquear un disco cifrado.
  • Desactivar BitLocker en un disco.
  • Activar BitLocker en un disco de arranque.

Ver el estado de activación de BitLocker en una unidad de disco

El cmdlet que nos permite ver el estado de activación de un disco es Get-BitLockerVolume. En el panel de complementos de comandos escribimos get-bit y nos aparece dicho comando junto con los parámetros que admite, en este caso el parámetro MountPoint que se refiere a la unidad de disco que queremos examinar.

bitlocker_powershell_4

En la parte inferior nos aparecen varios botones: El botón Insertar nos escribe el comando con los parámetros en la consola de PowerShell pero sin ejecutarlo, el botón Ejecutar hace lo mismo y además ejecuta el comando y el botón copiar, copia el comando y sus parámetros en el portapapeles para pegarlo en otro lugar.

bitlocker_powershell_5 bitlocker_powershell_6

Pulsando la tecla ENTER vemos el resultado de la ejecución de dicho comando.

bitlocker_powershell_7

Podemos ampliar la información añadiendo al final de la línea de comando el re direccionamiento “|fl”.

bitlocker_powershell_8

Vemos que el disco F: tiene un protector de contraseña y está sin cifrar y desbloqueado.

Añadir Protectores al cifrado de BitLocker

Existen varios Protectores para asegurar el cifrado de nuestro disco, nos vamos a centrar en los más importantes que son: contraseña, clave de recuperación, contraseña de recuperación y clave de arranque.

El cmdlet es Add-BitLockerKeyProtector. Escribimos dicho comandos en el panel de comandos.

Añadiendo un protector de contraseña a un disco:

Pinchamos en la pestaña “PasswordProtector” y rellenamos los parámetros “MountPoint” y la casilla “PasswordProtector” que además son obligatorios al llevar un asterisco. Si activamos la casilla “Confirm” nos pide confirmación para realizar la tarea.

bitlocker_powershell_9

Pinchamos en el botón Ejecutar y el comando se copia a la consola de PowerShell y se ejecuta. PowerShell nos pide que introduzcamos y confirmemos la contraseña para proteger el cifrado del disco.

bitlocker_powershell_extra1

Con el siguiente cmdlet vemos el estado de protección del disco.

Get-BitLockerVolume -MountPoint f: |fl

bitlocker_powershell_11

Añadiendo una clave de recuperación como protector del disco:

Con el mismo cmdlet del caso anterior, pinchamos en la pestaña “RecoveryKeyProtector”, en este caso los parámetros obligatorios son:

  • MountPoint, (unidad de disco sobre la que crear una clave de recuperación).
  • RecoveryKeyPath, (ruta donde guardará el fichero que contendrá la clave de recuperación, no podemos utilizar un disco donde esté activado BitLocker como destino).
  • RecoveryKeyProtector, (activar la casilla).

bitlocker_powershell_10

PS C:\>Add-BitLockerKeyProtector -MountPoint f: -RecoveryKeyPath g:\ -RecoveryKeyProtector

El comando Get-BitLockerVolume nos muestra cómo se han añadido los tres protectores.

bitlocker_powershell_22

Añadiendo una contraseña de recuperación como protector al disco:

Pinchamos en la pestaña “RecoveryPasswordProtector” y rellenamos los parámetros obligatorios. Podemos rellenar el parámetro “RecoveryPassword” con una cadena de 48 dígitos o dejarlo vacío, en cuyo caso PowerShell generará una contraseña aleatoria de 48 dígitos y la mostrará por pantalla.

bitlocker_powershell_extra2

El resultado de la ejecución se muestra por pantalla.

bitlocker_powershell_13

Añadiendo una clave de arranque como protector del disco:

Una clave de arranque es una clave especial que genera PowerShell para poder usarla como contraseña para el desbloqueo de un disco de arranque. Este parámetro genera un fichero que se ha de copiar en una unidad de memoria flash USB que se utilizará para el cifrado y posterior arranque y desbloqueo de un disco que contiene el sistema operativo para arrancar un ordenador, normalmente el disco C:, no podemos utilizar un disco donde esté activado BitLocker como destino del fichero.

startupkeyprotector

La ejecución de dicho cmdlet nos muestra que se ha añadido un protector de tipo clave de arranque a un fichero como clave externa.

startupkeyprotector-salida

Activando BitLocker en un disco

Una vez añadidos los protectores de cifrado al disco, (los mínimos a utilizar son la contraseña y la clave recuperación, por seguridad), utilizamos el cmdlet  “Enable-BitLocker”, este cmdlet activa BitLocker en el disco indicado con los protectores configurados previamente. Al igual que la utilidad manage-bde, el cmdlet nos permite añadir protectores al mismo tiempo que se realiza la activación.

PS C:\> Enable-BitLocker -MountPoint F: -PasswordProtector

Este comando comienza el cifrado del disco y nos muestra un cuadro con el progreso de la tarea, podemos forzar que se muestre dicho cuadro de dialogo ejecutando “fvenotify.exe” desde la consola de PowerShell.

bitlocker_powershell_14

Bloquear, desbloquear y autodesbloquear un disco cifrado

Un disco cifrado se ha de desbloquear para poder usarlo, los siguientes cmdlets se utilizan para realizar está función.

Lock-BitLocker, Unlock-BitLocker, Enable-BitLockerAutoUnlock y Disable-BitLockerAutoUnlock

Excepto Unlock-BitLocker, los cmdlets son muy sencillos de utilizar ya que sólo nos pide el “MountPoint”, es decir la unidad de disco y si queremos forzar la tarea aunque el dispositivo este siendo usado por algún proceso.

bitlocker_powershell_15

Vamos a ver en detalle los parámetros del cmdlet Unlock-BiLocker. Unlock-BitLocker nos permite desbloquear un disco usando uno de los siguientes protectores: Contraseña, clave de recuperación y contraseña de recuperación, (no veremos las opciones de directorio activo).

Para desbloquear un disco usando el protector de contraseña pinchamos en la pestaña del parámetro “OnlyPasswordParameterSet”.

bitlocker_powershell_16

El parámetro contraseña no podemos escribirlo por teclado como en los anteriores casos, tenemos que introducirlo mediante una cadena especial de PowerShell que se llama cadena segura, para convertir una contraseña de texto plano en contraseña segura tenemos que definir una variable a la que podemos llamar como queramos y asignarle el cmdlet “ConvertTo-SecureString” como vemos en la siguiente línea.

PS C:\> $VarPass =ConvertTo-SecureString "123456.abC" -AsPlainText -Force

123456.abC es la contraseña que usamos al añadir el protector de contraseña al disco; debe ser una contraseña con 8 caracteres mínimo, mayúsculas, minúsculas, números y caracteres especiales.

Para desbloquear un disco usando la clave de recuperación de contraseña es preciso indicar el parámetro “MountPoint” y la ruta y el nombre del fichero que contiene la clave de recuperación de contraseña.

bitlocker_powershell_17

bitlocker_powershell_18

Para desbloquear un disco usando una contraseña de recuperación, tenemos que utilizar la contraseña que se generó automáticamente como resultado de la ejecución del cmdlet Add-BitLockerKeyProtector y que debimos guardar en un lugar seguro:

bitlocker_powershell_19

bitlocker_powershell_17

bitlocker_powershell_18

Desactivar BitLocker en un disco

Para desactivar y descifrar una unidad de disco donde BitLocker ha sido activado usamos el cmdlet “Disable-BitLocker”.

bitlocker_powershell_21

Usando el cmdlet “Get-BitLockerVolume” podemos ver que el disco se está descifrando.

bitlocker_powershell_extra3

De nuevo, si no aparece el cuadro indicando el progreso, podemos forzarlo ejecutando “fvenotify.exe” desde la consola de comandos de PowerShell.

bitlocker_powershell_23

bitlocker_powershell_24

Activar BitLocker en un disco de arranque

Como ya vimos en el artículo “Proteger los datos de nuestros discos con Bitlocker en Windows 10“, el cifrado de unidades de arranque tiene ciertas peculiaridades; en este caso nos vamos a centrar en el caso de que  nuestra máquina necesite una memoria flash USB donde almacenar una clave para desbloquear el disco que contiene el sistema operativo en el arranque.

En primer lugar habrá que generar una clave de arranque con el cmdlet

PS C:\> Add-BitLockerKeyProtector -MountPoint f: -StartupKeyPath g:\ -StartupKeyProtector

En segundo lugar habrá que copiar el fichero con la clave de arranque generada a una memoria flash USB que será la que se utilice para desbloquear la unidad que contiene el sistema operativo del ordenador durante el arranque.

En tercer lugar activaremos BitLocker en la unidad de disco de arranque y tras el reinicio comenzará el cifrado, es importante no extraer la memoria flash USB que contiene la clave de arranque durante todo el proceso y hasta que finalice el cifrado.

PS C:\> Enable-BitLocker -MountPoint F: -PasswordProtector

Será necesario que está memoria flash USB esté conectada al ordenador siempre que vayamos a arrancarlo.

Hasta aquí hemos llegado con este manual de BitLocker con PowerShell.

Últimos análisis

Valoración RZ
7
Valoración RZ
9
Valoración RZ
8
Valoración RZ
8
Valoración RZ
8
Valoración RZ
8
Valoración RZ
10