Bitlocker mit OPSI Script vorbereiten

Antworten
Grugi
Beiträge: 63
Registriert: 07 Dez 2017, 08:57

Bitlocker mit OPSI Script vorbereiten

Beitrag von Grugi »

Hallo zusammen,

ich versuche zur Zeit unsere frisch installierten Computer mittels OPSI Script automatisch mit dem Bitlocker zu verschlüsseln.
Folgendes Script verwende ich dafür:

Code: Alles auswählen

Set $WinstRegKey$ = "HKEY_LOCAL_MACHINE\SOFTWARE\opsi.org\winst"
Set $LogDir$ = "%SystemDrive%\tmp"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$

Set $Flag$ = GetRegistryStringValue32("["+$WinstRegKey$+"] "+"RebootFlagBitlocker")
if not (($Flag$ = "1") or ($Flag$ = "2") or ($Flag$ = "3"))
  ; Anweisungen vor Reboot
comment "Powershell Zone"
comment "Partition C: wird verschlüsselt..."
powershellCall('Enable-BitLocker -MountPoint C: -UsedSpaceOnly -SkipHardwareTest -RecoveryPasswordProtector')
  ; Reboot initialisieren ...
  Set $Flag$ = "1"
  Registry_SaveRebootFlag
  sleepSeconds 10
  ExitWindows /ImmediateReboot
endif
;
if ($Flag$ = "1")
  ;=========================
  ; Anweisungen nach Reboot
comment "StartPIN wird gesetzt.."
powershellCall('$pin = convertto-securestring "xxxxx" -asplaintext -force ; Enable-BitLocker -MountPoint C: -UsedSpaceOnly -SkipHardwareTest -TpmAndPinProtector -pin $pin')
  ; Rebootflag zurücksetzen
  Set $Flag$ = "2"
  Registry_SaveRebootFlag
  sleepSeconds 10
  ExitWindows /ImmediateReboot
endif
;

if ($Flag$ = "2")
powershellCall('Enable-BitLocker -MountPoint D: -UsedSpaceOnly -SkipHardwareTest -RecoveryPasswordProtector')
powershellCall('Enable-BitLockerAutoUnlock -MountPoint D:')
  ; Rebootflag zurücksetzen
  Set $Flag$ = "3"
  Registry_SaveRebootFlag
  Registry_KeyDelete
	sleepSeconds 10
endif

[Registry_SaveRebootFlag]
openKey [$WinstRegKey$]
set "RebootFlagBitlocker" = "$Flag$"

[Registry_KeyDelete]
DeleteKey [$WinstRegKey$]
Hier bekomme ich nach dem Call

Code: Alles auswählen

powershellCall('Enable-BitLocker -MountPoint C: -UsedSpaceOnly -SkipHardwareTest -RecoveryPasswordProtector')

im Loglevel 7 die Fehlermeldung

Code: Alles auswählen

Enable-BitLockerInternal :Die Gesamtstruktur der Active Directory-Domänendienste enthält nicht die erforderlichen
Attribute und Klassen, um BitLocker-Laufwerkverschlüsselung oder TPM (Trusted Platform Module)-Informationen  zu
hosten. Wenden Sie sich an den Domänenadministrator, um zu überprüfen, ob alle erforderlichen Active
Directory-Schemaerweiterungen für BitLocker installiert wurden. (Ausnahme von HRESULT: 0x8031000A)
In C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitLocker\BitLocker.psm1:3737 Zeichen:48
Führe ich den o.g. Befehl mit einem Domainadmin direkt lokal auf dem Client mit der Powershell aus funktioniert es perfekt und der Recoverykey wird im Computerkonto im AD gesichert.
Ich habe daher das Gefühl, dass die PowershellCall-Funktion mit dem SYSTEM-User ausgeführt wird und dieser Nutzer keinerlei Berechtigung besitzt um im AD zu schreiben.
Falls dem so ist, ist es mir möglich einen DummyAD-User als auszuführenden Benutzer zu hinterlegen?
Oder gibt es für mein Vorhaben ein Workaround?

Ich danke euch vorab ;)
Antworten