Exportar claves de recuperación de BitLocker desde Active Directory con PowerShell
Hay una interrupción de TI y necesitamos poner todos los sistemas en modo seguro y ajustar algunos valores. Sin embargo, solicita una contraseña de BitLocker. Desafortunadamente, no lo tenemos, por lo que necesitamos las claves de recuperación de BitLocker para ingresar al sistema. En este artículo, aprenderá cómo exportar claves de recuperación de BitLocker desde Active Directory con PowerShell a un archivo CSV.
Recuperación de BitLocker en Windows
Al iniciar el sistema, solicita la contraseña de BitLocker para desbloquear la unidad. No tenemos esa información. Entonces, hagamos clic en Esc para BitLocker Recovery.
Solicita la clave de recuperación de BitLocker.
Para obtener la clave de recuperación de BitLocker, puede buscar la computadora en Active Directory, abrir las propiedades de la computadora y obtener la información.
También puede buscar en Active Directory el ID de clave de recuperación de Bitlocker para obtener la contraseña de recuperación de BitLocker.
Complete el ID de la contraseña y obtenga la contraseña de recuperación de BitLocker.
¿Qué sucede si necesita un informe de todas las claves de recuperación de BitLocker para acelerar el proceso? Veámoslo en el siguiente paso.
Exportar script de PowerShell de claves de recuperación de BitLocker
El script de PowerShell Export-BitLockerKeys.ps1 exportará todas las claves de recuperación de BitLocker de la computadora desde Active Directory a un archivo CSV y le proporcionará un informe con la siguiente información:
- Nombre de la computadora
- RecuperaciónContraseña
- ID de recuperación
- Fecha
- Tiempo
- Nombre distinguido
- Sistema operativo
Descargue el script de PowerShell Export-BitLockerKeys.ps1 y colóquelo en la carpeta C:\scripts.
Asegúrese de que el archivo esté desbloqueado para evitar errores al ejecutar el script. Lea más en el artículo Error sin firma digital al ejecutar el script de PowerShell.
Otra opción es copiar y pegar el código siguiente en el Bloc de notas. Asígnale el nombre Export-BitLockerKeys.ps1 y colócalo en la carpeta C:\scripts.
param(
# Full path for the CSV report (must be provided)
[Parameter(Mandatory = $true)]
[string]$OutputPath,
# Organizational Unit to search for computers (it will search for all computers if not provided)
[string]$OU = ""
)
# Get the current user's identity
$currentIdentity = [Security.Principal.WindowsIdentity]::GetCurrent()
# Create a principal object from the identity to check roles
$principal = [Security.Principal.WindowsPrincipal]::new($currentIdentity)
# Check if the current user is an administrator
if (-not $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
Write-Host "Only Administrators can read BitLocker Recovery Keys." -ForegroundColor Red
exit
}
# Determine the search base for computers
if ($OU -ne "") {
$Computers = Get-ADComputer -Filter 'ObjectClass -eq "computer"' -Property Name, DistinguishedName, OperatingSystem -SearchBase $OU | Sort-Object Name
}
else {
$Computers = Get-ADComputer -Filter 'ObjectClass -eq "computer"' -Property Name, DistinguishedName, OperatingSystem | Sort-Object Name
}
# Initialize report list
$report = [System.Collections.Generic.List[PSCustomObject]]::new()
foreach ($computer in $Computers) {
$params = @{
Filter = "objectclass -eq 'msFVE-RecoveryInformation'"
SearchBase = $computer.DistinguishedName
Properties = 'msFVE-RecoveryPassword', 'whencreated'
}
$bitlockerInfo = Get-ADObject @params | Sort-Object -Property WhenCreated -Descending | Select-Object -First 1
if ($bitlockerInfo) {
$ReportLine = [PSCustomObject][ordered]@{
ComputerName = $computer.Name
RecoveryPassword = $bitlockerInfo.'msFVE-RecoveryPassword'
RecoveryID = $bitlockerInfo.Name.Substring(26, 36)
Date = $bitlockerInfo.Name.Substring(0, 10)
Time = $bitlockerInfo.Name.Substring(11, 8)
DistinguishedName = $Computer.DistinguishedName
OperatingSystem = $Computer.OperatingSystem
}
$report.Add($ReportLine)
}
else {
$ReportLine = [PSCustomObject][ordered]@{
ComputerName = $computer.Name
RecoveryPassword = "No BitLocker information found"
RecoveryID = "N/A"
Date = "N/A"
Time = "N/A"
DistinguishedName = $Computer.DistinguishedName
OperatingSystem = $Computer.OperatingSystem
}
$report.Add($ReportLine)
}
}
# Export the list to CSV
try {
$report | Export-Csv -Path $OutputPath -NoTypeInformation -Encoding utf8
Write-Host "Report successfully exported to: $OutputPath" -ForegroundColor Green
}
catch {
Write-Host "Error exporting report to CSV: $_" -ForegroundColor Red -ErrorAction SilentlyContinue
}Así es como se ve.
Ejecute el script de PowerShell Export-BitLockerKeys
Exporte claves de recuperación de BitLocker desde todas las computadoras en Active Directory.
C:\scripts\.\Export-Bitlocker.ps1 -OutputPath "C:\temp\AllComputers.csv"Exporte claves de recuperación de BitLocker de todas las computadoras dentro de una OU (unidad organizativa) específica en Active Directory.
C:\scripts\.\Export-Bitlocker.ps1 -OutputPath "C:\temp\ComputersOU.csv" -OU "OU=WIN10,OU=Computers,OU=Company,DC=exoip,DC=local"Abre el archivo CSV en la ruta C:\temp con tu aplicación favorita. Por ejemplo, con Microsoft Excel.
¡Eso es todo!
Leer más: Cómo automatizar la configuración del buzón en Outlook »
Conclusión
Aprendió a exportar claves de recuperación de BitLocker desde Active Directory con PowerShell a un archivo CSV. El método recomendado es revisar Active Directory y recuperar las claves de recuperación de BitLocker. De esta manera todo queda en AD y no se realizan exportaciones. Sin embargo, si necesita obtener una lista con todas las contraseñas de recuperación de BitLocker y está seguro de restablecer la contraseña de recuperación después de iniciar sesión correctamente, esta es la mejor manera.
¿Disfrutaste este artículo? También te puede interesar Cómo crear un informe de evaluación de seguridad de Active Directory. No olvides seguirnos y compartir este artículo.






