Ich setzte meine Forschung in der Frage selbst fort und untersuchte dies weiter.
Verwenden des PowerShell-Cmdlets, Unlock-Bitlocker
da der Code auf jedem Windows-Computer in Klartext verfügbar ist.
Der erste Fehler während der Ausführung des Cmdlets tritt beim Aufruf auf:
Get-CimInstance -Namespace "root\cimv2\Security\MicrosoftVolumeEncryption" ` -ClassName Win32_EncryptableVolume
Ich bekomme eine Access Denied
@Homey_D_Clown_IT schlug vor, die Sicherheit für das betreffende WIM-Objekt zu ändern. Öffnen wmimgmt.msc
Sie dazu WMI Control (Local)
den linken Knoten und klicken Sie mit der rechten Maustaste Properties
. Wählen Sie die Security
Registerkarte aus und suchen Sie das Objekt Root\CIMV2\Security\MicrosoftVolumeEncryption
. Klicken Sie auf die Security
Schaltfläche. Fügen Sie eine Gruppe oder einen Benutzer hinzu, der die Freigabe der bitlockierten Laufwerke zulassen soll. Überprüfen Sie die Execute Methods
Berechtigung Zulassen .
Danach kann der Standardbenutzer das manage-bde.exe
Tool zum Entsperren des Laufwerks verwenden:
manage-bde -unlock X: -pw
Das Problem ist, dies fordert den Benutzer zur Eingabe des Passworts auf, und ich habe zu diesem Zeitpunkt vier Laufwerke zum Entsperren, und ich würde es vorziehen, das Passwort nur einmal einzugeben.
Bei Verwendung des Cmdlets Unlock-Bitlocker in PowerShell wird jetzt der vorherige Fehler übergeben, es wird jedoch ein anderer angezeigt:
Zugriff in Get-BitLockerVolumeInternal verweigert ...
Ein Blick in den Code des PowerShell-Moduls bricht zu einem Zeitpunkt, zu dem der Code versucht, auf das Wiederherstellungskennwort zuzugreifen, das nur von einem Administrator durchgeführt werden kann. Wenn ich den Code ändere, um diesen Fehler zu ignorieren und einfach fortzufahren, anstatt zu brechen, funktioniert das einwandfrei.
Dies ist jedoch ein schlechter Hack, weil ich den Besitz der Moduldatei übernehmen musste, Berechtigungen ändern und dann den Code bearbeiten muss. Alle Dinge, die ich nicht mit einer Windows-Systemdatei machen sollte, und wenn Microsoft das PowerShell-Modul das nächste Mal aktualisiert, wird meine Änderung überschrieben.
Eine Lösung besteht darin, die relevanten Codeteile in mein eigenes PowerShell-Modul zu kopieren und stattdessen dieses zu verwenden. Das kann nicht einmal legal sein.
Eine andere Lösung besteht darin, das Schlüsselwort recoveryp zu entfernen:
manage-bde -protectors -delete X: -type recoverypassword
So bleibt mir nur ein einziger Schutz für das Bitlocked-Laufwerk, das normale Passwort.
Warum empfiehlt es sich, das Wiederherstellungskennwort von einem mit BitLocker verschlüsselten festen Datenlaufwerk zu entfernen?
Jeder Administrator kann das Wiederherstellungskennwort sehen und damit das Laufwerk entschlüsseln. WFT!
Es ging mir darum, die Daten auf den Laufwerken vor anderen Personen zu schützen. Jemand könnte meinen PC stehlen, von einer Live-CD-Linux booten und bei meiner Windows-Installation auf ein Administratorkonto zugreifen.
Nachdem ich die Wiederherstellungskennwörter entfernt habe, kann ich das ursprüngliche Unlock-Bitlocker
Cmdlet als Standardbenutzer zum Entsperren meiner Laufwerke verwenden. Ich musste noch die Berechtigungen für das WMI-Objekt wie oben beschrieben ändern.
Edit: Nach einem Windows 10 Update wurde in diesem Fall 14939.222
die Berechtigung auf die root\cimv2\Security\MicrosoftVolumeEncryption
zurückgesetzt und ich musste sie erneut ändern. Das scheint also keine dauerhafte Lösung zu sein.
Aufgrund dieses Zurücksetzens durch Windows Update habe ich mich entschlossen, die Änderung für die WMI-Berechtigung als Skript auszuführen. Ich verwende, Set-WmiNamespaceSecurity.ps1
was in diesem Microsoft Blog Post verfügbar ist. Dann kann ich Folgendes verwenden:
.\Set-WmiNamespaceSecurity.ps1 -namespace "root/cimv2/Security/MicrosoftVolumeEncryption" -operation add -account MyUserName -permissions MethodExecute,Enable