Verwenden von Win8.1Pro Batch: Es kann nicht überprüft werden, ob BitLocker die Verschlüsselung bereits angewendet hat

0

Ich arbeite an einem Skript, mit dessen Hilfe ein Windows 8.1 Pro-Image standardisiert werden kann. In diesem Teil versuche ich zu überprüfen, ob BitLocker das Laufwerk bereits verschlüsselt hat oder nicht, indem ich das folgende Skript verwende:

:VerifyEncryption
REM Verifies if the OS is encrypted
cls
echo Verifying if the primary drive is encrypted by BitLocker...
cd %SystemRoot%\system32
for /F "tokens=1*" %%G in ('MANAGE-BDE -STATUS ^| FIND /I "ENCRYPTION_METHOD:"') do ( 
  IF "%%H"=="NONE" (
      GOTO :ENCRYPT
  ) ELSE (
  GOTO :DONTENCRYPT
  )
)

:DONTENCRYPT
echo Encrypted.
pause
exit

:ENCRYPT
echo Not Encrypted.
pause
exit

Egal ob die Maschine verschlüsselt ist oder nicht, ich bekomme immer "Encrypted". Auch wenn ich keine Fehler erhalte, wechselt ich standardmäßig in die nächste Zeile, ohne die Prüfung tatsächlich durchzuführen. Kann jemand Licht ins Dunkel bringen?

Sandfrog
quelle

Antworten:

0

OB ist case sensitive. Du solltest benutzen WENN ICH oder stimmen mit dem Fall der Ausgabe von überein manage-bde -status :

IF "%%H"=="None"

Oder ohne Berücksichtigung der Groß- / Kleinschreibung:

IF /I "%%H"=="NONE"

In ähnlicher Weise müssen Sie auch die Ausgabe des Befehls in dieser Zeile abgleichen:

for /F "tokens=1*" %%G in ('MANAGE-BDE -STATUS ^| FIND /I "ENCRYPTION_METHOD:"') do (

Sie suchen nach ENCRYPTION_METHOD: , aber suchen müssen Verschlüsselungsmethode: (entfernen Sie den Unterstrich). Aufgrund des zusätzlichen Platzes müssen Sie auch ändern Token = 1 * zu Token = 2 * ::

for /F "tokens=2*" %%G in ('MANAGE-BDE -STATUS ^| FIND /I "ENCRYPTION METHOD:"') do (

quelle
Änderungen an der Kappe vorgenommen und immer noch gesagt, dass sie verschlüsselt ist, wenn sie nicht :( Vielen Dank! Mit / I wurde etwas Neues gelernt
Sandfrog
@ Sandfrog Ich habe die Antwort aktualisiert und auf Win8.1 überprüft. Sie haben nach einer Verschlüsselungsmethode mit einem Unterstrich gesucht und eine IF durchgeführt, bei der die Groß- und Kleinschreibung beachtet wird.
0

Dies funktioniert unter Windows 8, Windows 10 und Server 2012R2 (alle 64-Bit):

FOR /F "skip=10 tokens=2*" %%t in ('manage-bde c: -STATUS')

Dieser funktioniert unter Windows 7 (64-Bit):

FOR /F "skip=10 tokens=2*" %%t in ('manage-bde -STATUS')
tal-t
quelle