Reports volume status, protection status and encryption percentage for every BitLocker volume, and lists the key protectors on the ones that are protected. Hosts without the BitLocker feature exit with a clear message instead of an error, so this is safe to run across a mixed group.
powershell
# Check BitLocker Status
# Single use case: report encryption state of all fixed volumes
#-----------------------------------------------------------------
function Write-Log {
param($Message)
Write-Host "<WRITE-LOG = `"*$Message*`">"
}
if (-not (Get-Command Get-BitLockerVolume -ErrorAction SilentlyContinue)) {
Write-Log "BitLocker cmdlets not available (feature not installed on this server)."
return
}
$volumes = Get-BitLockerVolume -ErrorAction SilentlyContinue
if (-not $volumes) { Write-Log "No BitLocker volumes found."; return }
$unencrypted = 0
Write-Log "================ BitLocker Volumes ================"
foreach ($v in $volumes) {
$line = "[$($v.MountPoint)] Status: $($v.VolumeStatus) Protection: $($v.ProtectionStatus) ($($v.EncryptionPercentage)% encrypted)"
if ($v.ProtectionStatus -eq "On") {
$protectors = ($v.KeyProtector | ForEach-Object { $_.KeyProtectorType }) -join ", "
Write-Log "OK: $line - protectors: $protectors"
} else {
Write-Log "UNPROTECTED: $line"
$unencrypted++
}
}
if ($unencrypted -eq 0) {
Write-Log "BitLocker check complete: all volumes protected."
} else {
Write-Log "BitLocker check complete: $unencrypted volume(s) without active protection."
}Run it across your fleet
This script runs as-is on a single host. Paste it into ServerEngine to schedule it, run it on a whole server group in parallel, and keep the credentials out of the file — see the scripts documentation and the credential store.
More in Security & Auditing
Enable the Windows Firewall with PowerShell
2026-08-17Check Windows Firewall Status with PowerShell
2026-08-17Disable SMBv1 with PowerShell
2026-08-17Enforce TLS 1.2 in the Registry with PowerShell
2026-08-17Enable RDP Network Level Authentication with PowerShell
2026-08-17Audit the Local Administrators Group with PowerShell
2026-08-17Ready when you are.
Try ServerEngine free for 7 days.