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:
- Import-module ActiveDirectory
Lädt das Active Directory-Modul, damit wir auf entsprechende Cmdlets zugreifen können (z. B. Get-ADComputer, Get-ADObject). - Get-ADComputer
Liest alle Computer-Objekte aus der definierten OU aus (OU=Computers,DC=CONTOSO,DC=LOCAL
). - Get-ADObject
Durchsucht die jeweilige Computer-OU nach Objekten vom Typ msFVE-RecoveryInformation, in denen die BitLocker-Wiederherstellungsinformationen hinterlegt sind. - 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. - $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. - Export in eine CSV-Datei
Die Ergebnisse werden in die CSV-DateiC:\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
- Filter anpassen
Wenn nur bestimmte Computer (z.B. nach Namenskonvention oder Standort) berücksichtigt werden sollen, kann der -Filter Parameter beiGet-ADComputer
angepasst werden, z.B.-Filter "Name -like 'PC-01*'"
. - Ausgabe erweitern
Möchtet ihr zusätzliche Informationen wie das Erstellungsdatum der Recovery Keys, könnt ihr die Eigenschaftwhencreated
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 ","
- Speicherort der CSV
Den SpeicherortC:\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-ADObject | Offizielle 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 Magazine | Allgemeine Tutorials & Artikel für fortgeschrittene PowerShell-Anwendungen |
Hinterlasse jetzt einen Kommentar