Jump to content


How can I determine if there's a TPM chip on my Lenovo system for BitLocker ?

Recommended Posts

If you haven't don'e so already check out my similar post on verifying if there's a TPM present for Dell systems here.


Using similar logic (it works after all :-)) I've changed the script to look for the Lenovo programmed response and edited my task sequence to load the required Lenovo drivers in the order they must be placed, the Lenovo Check for TPM group will only run based on a wmi query, the wmi query is as follow


Select * from Win32_ComputerSystem where Manufacturer like "%Lenovo%"


wmi query lenovo.png


In this group we have a sub-group which plugs the needed drivers into our WinPE session (without the need for changing your boot images, cool huh ?)


The sub-group is called Prepare SMBUS and SMBIOS (much like Prepare CCTK and HAPI on the Dell TPM check) and has three steps

xcopy Lenovo
Install SMBUS Driver
Install SMBIOS Driver



Xcopy simply copies the Lenovo specific drivers *see screenshot*


bitlocker tools.png


from our previously created
BitLocker Tools
package to where we want them, you'll need to download the SMBUS and SMBIOS drivers from Lenovo (ask your Lenovo TAM if you cannot find them) and the next two commands install the correct drivers from the xcopied source.


xcopy lenovo.png


Next we have the
Install SMBUS Driver
, which does just that, it installs the required SMBUS driver for Lenovo, note that this step will fail unless you
specify the working directory
, in our case it's x:\lenovo\tpm\smbus


install smbus driver.png


Install SMBIOS Driver
loads another driver but you must also specify the correct working directory for THAT driver otherwise once again it will fail.


install smbios driver.png


After successful completion of that group we xcopy the Lenovo files to a sub directory of our
before running the actual
file, this will only set our TPM_Available variable=True if the correct string is found, otherwise the variable will be false.


check if tpm is present in the bios.png


The remaining steps in this group will run/not run based on the result of that variable.


here's the script


<job id="checkTPM">
 <script language="VBScript" src="..\ZTIUtility.vbs"/>
 <script language="VBScript">

   Dim oShell
   Set oShell = CreateObject("WScript.Shell")

   oEnvironment.Item("TPM_AVAILABLE") = False

     retCode = oShell.Run("cmd /c " & Replace(WScript.ScriptFullName,WScript.ScriptName,"") & "tpm_activate_cmd.exe /verbose | find " & chr(34) & "TPM is present in this system" & chr(34) , 0, True)

     If(retCode = 0) Then
       oEnvironment.Item("TPM_AVAILABLE") = True    
     End If





have fun !





Related Reading:-



Customising Windows 7 deployments -
part 5


Is the TPM Chip Enabled or Disabled in the Bios on my Dell system ? -


How can I determine if there's a TPM chip on my Dell system needed for BitLocker ?


BitLocker Hardware Requirements -


Microsoft Scripts to Enable Bitlocker -


BitLocker Info - a List of Resources -


How can I determine if the drive is Encrypted (Protected) or not during a BitLocker task sequence in WinPE ? -

Share this post

Link to post
Share on other sites

you mean a sample XML file containing the task sequence ? if so see below


Introducing the BitLocker FrontEnd HTA

Multipurpose HTA with BitLocker Support for all three common scenarios, backup, reinstall, new computer [added Jan 2012]

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...