Dieser Check überwacht auf einem Client die Bitlocker Funktionalität, den TPM Chip und den Boot-Modus:
Write-Host "Bitlocker Check 1.1"
Write-Host "____________________________"
Write-Host ""
[int]$errorcount = 0
#################################################################
# 1 x Taeglich
#################################################################
# TPM Verfuegbar?
Write-Host "[1/4] Ueberpruefe ob der TPM Chip Verfuegbar ist:"
$tpm1 = get-tpm | ForEach-Object {$_.TpmPresent}
if ($tpm1 -match "True")
{
Write-Host "OK: Der TPM Chip ist verfuegbar"
}
else
{
Write-Host "FEHLER: Der TPM Chip ist nicht verfuegbar"
$errorcount++
}
Write-Host ""
# TPM Einsatzbereit?
Write-Host "[2/4] Ueberpruefe ob der TPM Chip Einsatzbereit ist"
$tpm2 = get-tpm | ForEach-Object {$_.TpmReady}
if ($tpm2 -match "True")
{
Write-Host "OK: Der TPM Chip ist einsatzbereit"
}
else
{
Write-Host "FEHLER: Der TPM Chip ist nicht einsatzbereit"
$errorcount++
}
Write-Host ""
# Bitlockerverschluesselung aktiv?
Write-Host "[3/4] Ueberpruefe ob die Verschluesselung aktiv ist:"
$bitlocker1 = Get-BitLockerVolume | where {$_.VolumeType -eq "OperatingSystem"} | ForEach-Object {$_.ProtectionStatus}
if ($bitlocker1 -match "On")
{
Write-Host "OK: Die Bitlocker Verschluesselung ist aktiv"
}
else
{
Write-Host "FEHLER: Die Bitlocker Verschluesselung ist NICHT aktiv"
$errorcount++
}
Write-Host ""
#############################################
# Welcher Boot-Modus ist aktiv?
Write-Host "[4/4] Ueberpruefe welcher Boot-Modus aktiv ist:"
$ErrorActionPreference = "SilentlyContinue"
$sbcheck = Confirm-SecureBootUEFI
if ($error -match "0xC0000002")
{
Write-Host "Boot-Modus: Legacy"
$tpmversion1 = Get-WmiObject -class Win32_Tpm -namespace root\CIMV2\Security\MicrosoftTpm | ForEach-Object {$_.SpecVersion}
if ($tpmversion1 -match "2.0,")
{
Write-Host "FEHLER: TPM 2.0 ist aktiv und funktioniert nicht im Legacy Modus!"
$errorcount++
}
}
if ($sbcheck -match "False")
{
Write-Host "Boot-Modus: UEFI - with CSM or native Secure boot disabled"
}
if ($sbcheck -match "True")
{
Write-Host "Boot-Modus: UEFI - native Secure boot enabled"
}
Write-Host ""
# Fehlerbehandlung
if($errorcount -ge 1)
{
exit 1001
}
else
{
exit 0
}