← All posts

TPM 2.0: The Hardware Root of Trust Your Windows Security Depends On

What the TPM actually does for BitLocker, Secure Boot, and Windows Hello - and how to audit whether yours is present, enabled, and healthy.

When Microsoft made a TPM 2.0 chip a hard requirement for Windows 11, a lot of people treated it as an arbitrary hurdle - one more reason their perfectly good PC "wasn't supported." But the TPM is not busywork. It is the piece of silicon that makes the difference between "my disk is encrypted" and "my disk is encrypted and the key can't be trivially extracted." It is the anchor that lets Secure Boot, BitLocker, Windows Hello, and Credential Guard actually mean something. If it's missing, disabled, or unhealthy, a whole stack of security features quietly degrades to "encryption theater."

This post explains what the TPM does in plain terms, why its state (not just its presence) matters, and how to audit it on a single machine or across a fleet.

What a TPM actually is

A Trusted Platform Module is a small, tamper-resistant cryptographic coprocessor. On modern machines it's usually not a discrete chip at all but firmware TPM (fTPM) running in the CPU's secure enclave - Intel PTT or AMD fTPM. Either way, the contract is the same: it can generate and store keys that never leave the chip in plaintext, and it can measure the boot process into tamper-evident registers.

Two capabilities matter for endpoint security:

What breaks when the TPM isn't there (or isn't healthy)

The failure mode is rarely a loud error. It's a silent downgrade:

And "TPM present" is not the same as "TPM usable." A TPM 1.2 chip won't support SHA-256 PCR banks. A TPM in a bad state (not owned, not ready, needs clearing) can be present in Device Manager while BitLocker refuses to bind to it. A firmware TPM disabled in BIOS shows up as "no TPM" to Windows even though the hardware is right there.

How to check your TPM by hand

The fastest built-in check is the TPM management console:

tpm.msc

It shows the manufacturer, spec version, and a "The TPM is ready for use" status. For something scriptable, PowerShell exposes the same data:

Get-Tpm

# Key fields:
#   TpmPresent   : True
#   TpmReady     : True
#   TpmEnabled   : True
#   TpmActivated : True
#   TpmOwned     : True

To confirm the spec version and PCR banks (you want 2.0 and a SHA-256 bank):

Get-CimInstance -Namespace root\cimv2\security\microsofttpm -ClassName Win32_Tpm |
  Select-Object SpecVersion, ManufacturerIdTxt, ManufacturerVersion

And to see whether BitLocker is actually using the TPM as a key protector - the thing you really care about:

Get-BitLockerVolume -MountPoint C: |
  Select-Object -ExpandProperty KeyProtector

If you don't see a Tpm or TpmPin protector in that list, your encryption isn't anchored to hardware, regardless of what Get-Tpm reports.

What "good" looks like

Auditing it at scale

Checking one machine with tpm.msc is easy. Checking every machine in an organization - and catching the laptop where a BIOS update quietly reset the TPM, or the batch of refurbished PCs that shipped with fTPM disabled - is where manual checks fall apart.

WinSentinel's Encryption module folds TPM state into a machine's overall posture: it reports whether a TPM 2.0 is present and ready, whether BitLocker is bound to it, and whether Secure Boot is enabled to give those measurements meaning. That runs locally and free on a single machine. If you're responsible for a fleet, WinSentinel Pro rolls those findings up so you can answer "which of my 60 endpoints have BitLocker that isn't hardware-anchored?" in one view instead of RDP-ing into each box.

The TPM is the quiet foundation the rest of your Windows security stands on. It's worth confirming it's actually there, actually enabled, and actually being used - not just assumed.

Install the free CLI and check your own machine in about 20 seconds:

dotnet tool install --global WinSentinel.Cli
winsentinel --audit

See the audit modules for everything the Encryption module inspects, or read the companion post on Secure Boot, measured boot, and memory integrity for how these firmware protections fit together.