PSSCRIPTS.DE | BitLocker-Key aus dem AD exportieren

BitLocker ist ein wichtiger Bestandteil der Windows-Sicherheitsarchitektur, mit dem Festplatten automatisch verschlüsselt werden können. Damit im Ernstfall (z.B. beim Verlust eines Kennworts) die Daten nicht komplett verloren gehen, werden die Wiederherstellungsinformationen (Recovery Keys) häufig in Active Directory (AD) hinterlegt. Nachfolgend zeigen wir euch, wie ihr mit einem PowerShell-Skript die BitLocker Recovery Keys aus dem AD auslesen und in eine CSV-Datei exportieren könnt.


Das PowerShell-Skript im Überblick

Import-module ActiveDirectory
$computers = Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=CONTOSO,DC=LOCAL"
$csvPath = "C:\temp\bitlocker-list-ad.csv"
$output = @()
$output += "HostName, RecoveryPassword"

foreach ($computer in $computers) {
$fetch = $(Get-ADObject -Filter {objectclass -eq 'msFVE-RecoveryInformation'} -SearchBase $computer.DistinguishedName -Properties 'msFVE-RecoveryPassword',whencreated | Sort-Object WhenCreated -Descending).'msFVE-RecoveryPassword'

if (-Not $fetch) {
$output += ($computer.Name,"BitLocker not active") -join ","
}
elseif ($fetch.Count -gt 1) {
$output += ($computer.Name, $fetch[0]) -join ","
}
else {
$output += ($computer.Name, $fetch) -join ","
}
}

$output | Out-File -FilePath $csvPath

Kurze Erläuterung:

  1. Import-module ActiveDirectory
    Lädt das Active Directory-Modul, damit wir auf entsprechende Cmdlets zugreifen können (z. B. Get-ADComputer, Get-ADObject).
  2. Get-ADComputer
    Liest alle Computer-Objekte aus der definierten OU aus (OU=Computers,DC=CONTOSO,DC=LOCAL).
  3. Get-ADObject
    Durchsucht die jeweilige Computer-OU nach Objekten vom Typ msFVE-RecoveryInformation, in denen die BitLocker-Wiederherstellungsinformationen hinterlegt sind.
  4. Sort-Object WhenCreated -Descending
    Sortiert die gefundenen Einträge nach Erstellungsdatum (whencreated) in absteigender Reihenfolge. Dadurch wird der neueste BitLocker-Schlüssel zuerst angezeigt, falls es mehrere Einträge gibt.
  5. $fetch
    Speichert den gefundenen Recovery Key (bzw. mehrere Keys) in einer Variable. Anschließend wird im Skript überprüft, ob kein Key vorhanden ist, ob mehrere Keys vorhanden sind oder nur einer.
  6. Export in eine CSV-Datei
    Die Ergebnisse werden in die CSV-Datei C:\temp\bitlocker-list-ad.csv geschrieben und enthalten Hostname und RecoveryPassword.

Einsatzszenarien

  • Inventarisierung: Wenn ihr in regelmäßigen Abständen prüfen wollt, welche Computer bereits BitLocker verwenden und welche nicht.
  • Recovery-Szenarien: Bei einem Festplatten- oder Systemproblem könnt ihr schnell auf die benötigten Schlüssel zugreifen.
  • Audits / Compliance: Eine CSV-Datei ermöglicht eine einfache Weitergabe oder Archivierung der Informationen zu Dokumentationszwecken.

Anpassungsmöglichkeiten

  1. Filter anpassen
    Wenn nur bestimmte Computer (z.B. nach Namenskonvention oder Standort) berücksichtigt werden sollen, kann der -Filter Parameter bei Get-ADComputer angepasst werden, z.B. -Filter "Name -like 'PC-01*'".
  2. Ausgabe erweitern
    Möchtet ihr zusätzliche Informationen wie das Erstellungsdatum der Recovery Keys, könnt ihr die Eigenschaft whencreated ebenfalls mit ausgeben. Dazu erweitert ihr die Ausgabezeile:
    • $createdDate = (Get-ADObject ... | Sort-Object WhenCreated -Descending | Select-Object -First 1).whencreated $output += ($computer.Name, $fetch[0], $createdDate) -join ","
  3. Speicherort der CSV
    Den Speicherort C:\temp\bitlocker-list-ad.csv könnt ihr nach euren Wünschen ändern, z.B. auf ein Netzwerk-Share oder ein anderes lokales Verzeichnis.

Sicherheitshinweise

  • Zugriffsrechte: Stellt sicher, dass nur autorisierte Personen Zugriff auf das Skript und die generierte CSV-Datei haben. Die Datei enthält sicherheitsrelevante Informationen.
  • Verschlüsselung / Schutz: Wenn möglich, lagert diese CSV-Datei in einem verschlüsselten oder geschützten Verzeichnis.
  • Regelmäßige Löschung / Rotation: Löscht alte CSV-Dateien regelmäßig oder überschreibt sie, damit keine unnötig lange Historie mit sensiblen Daten entsteht.

Fazit

Mit diesem PowerShell-Skript könnt ihr schnell und unkompliziert BitLocker-Wiederherstellungsinformationen aus Active Directory exportieren. Ob für Inventarisierungszwecke, Sicherheits-Checkups oder ein mögliches Recovery-Szenario – die so erstellte CSV-Datei erleichtert euch den Überblick über verschlüsselte Systemlaufwerke und die dazugehörigen Recovery Keys.

Quellen


Microsoft Docs – Get-ADObjectOffizielle Dokumentation zum Cmdlet Get-ADObject
Microsoft Docs – Active Directory CmdletsÜbersicht aller AD-relevanten PowerShell-Befehle
TechNet: BitLocker (Windows 10)Technische Details und Hintergrundwissen zu BitLocker in Windows
PowerShell MagazineAllgemeine Tutorials & Artikel für fortgeschrittene PowerShell-Anwendungen

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*