function Get-TPMState {
$TPM = Get-Tpm
$TPMState = New-Object psobject
$TPMState | Add-Member NoteProperty "IsPresent" $TPM.TpmPresent
$TPMState | Add-Member NoteProperty "IsReady" $TPM.TpmReady
$TPMState | Add-Member NoteProperty "IsEnabled" $TPM.TpmEnabled
$TPMState | Add-Member ScriptMethod "CheckTPMReady" {
if ($this.IsPresent -and $this.IsReady -and $this.IsEnabled) {
return $true
}
return $false
}
return $TPMState
}