Extend Hardware Inventory in SCCM 2012 R2

11 09 2014

My client wanted to be able to query if TPM chips are enabled on Windows 7 workstations and if so, which computers were not BitLockered.  Well, when I went to query the TPM WMI class in Hardware Inventory, only a few properties were available and the two, IsEnabled and IsActived, I needed most were not.  So I did some research on how to extend an existing hardware class and found this TechNet article.


Within it is the exact scenario and contents of a mof file I used to extend the properties within SCCM hardware inventory. 

[ SMS_Report (TRUE),
  SMS_Group_Name ("TPM_Custom"),
  SMS_Class_ID ("MICROSOFT|TPM|1.0"),
  Namespace ("\\\\\\\\.\\\\root\\\\CIMv2\\\\Security\\\\MicrosoftTpm") ]
class Win32_Tpm : SMS_Class_Template
    [ SMS_Report (TRUE) ]
    boolean IsActivated_InitialValue;
    [ SMS_Report (TRUE) ]
    boolean IsEnabled_InitialValue;
    [ SMS_Report (TRUE) ]
    boolean IsOwned_InitialValue;
    [ SMS_Report (TRUE) ]
    UInt32     ManufacturerId;
    [ SMS_Report (TRUE) ]
    String     ManufacturerVersion;
    [ SMS_Report (TRUE) ]
    String     ManufacturerVersionInfo;
    [ SMS_Report (TRUE) ]
    String     PhysicalPresenceVersionInfo;
    [ SMS_Report (TRUE) ]
    String     SpecVersion;


What I did next was copy the contents to a text file and renamed it with a .mof extension.  Then within SCCM Client Settings, I imported the mof file to where it extended the existing win32_tpm WMI class. 

Make sure you test this in a lab scenario.

Detect and Disable BitLocker

21 08 2014

Attached is a good example of how you would detect if a refreshed computer has a BitLockered hard drive and disable it before you rebuild.


Here are a couple screenshots that show how this was accomplished at the beginning of my task sequence.




Kernel Mode Driver-Framework 1.11

12 08 2014

This is a recent addition we have made to our Windows 7 gold image.

Kernel Mode Driver-Framework 1.11.

Increase SMSTS.log File for OS Deployments

8 08 2014

Here is another great article from Niall Brady explaining how to increase the SMSTS.log file to eliminate the log file from being truncated because of size to ease troubleshooting.


SCCM 2012 R2 Upgrade Issues

31 07 2014

I am going to track issues we find from upgrading from SCCM 2012 SP1 to SCCM 2012 R2.

***MDT 2012 needs to be upgraded to MDT 2013 along with upgrading the MDT database

***Build new MDT 2013 boot images and inject drivers

Unfortunately because of the migration, through the GUI you can look at which drivers are injected into old boot images. Because of this, I had to use PowerShell to dig up the drivers injected into the old Boot Images and then install them into the new MDT 2013 boot image.

Here is how this is done:

1. Open PowerShell via SCCM Console

2. Run the following command: Get-CMBootImage -Name “MDT 2012 x64 Includes Drivers”

That command will spit out all of the details regarding the boot image. Look for the property “ReferencedDrivers and you should see ID’s for the drivers injected into the boot image. For instance, it should look like this:

ReferencedDrivers : {16807585, 16835632, 16957493}

3. Copy the ReferencedDrivers ID’s as you’ll use them individually to pull the driver package and name

4. Run the following command: Get-CMDriver -Id 16807585

The command will spit out all of the driver details and concentrate on the two properties, ContentSourcePath and LocalizedDisplayName. ContentSourcePath will get you the model number for the driver package and LocalizedDisplayName will give you the name of the driver.

5. When you find the driver, right click on it and select Edit – Boot Images. Select the boot image and do this for the rest of your drivers.

***Network Access Account credentials are lost during upgrade

When I was testing my Windows 7 builds we were receiving an error when it was trying to download the Toolkit Package for the first time.  I found this article that explains issues with Upgrading to R2 and #9 was the exact scenario.


***Connecting to DaRT enabled deployments causes MDT MMC to crash

Apparently with MDT 2013, it looks to the registry for the DaRT install path.  This registry setting wasn’t needed with MDT 2012.  We are using DaRT 8.1 so depending on which version you are using will determine your path.

Here is the fix:

added key:



InstallPath = c:\program files\microsoft dart\v8.1

UDI Application Mapping

4 04 2014

Within MDT 2012 there is a new technology called UDI or UDI Wizard, or user display interface, that you can customize a front end wizard for your OS deployments.  Often times my clients don’t have anything standardize on their workstation as far as applications go so we have to build out a flexible solution to allow them to select the necessary applications per computer.  Within UDI, there are preflight checks that happen before the wizard allows you to move forward with the migration.  One of the checks is to inventory the applications on the computer and map them to applications available through the UDI wizard.  When migrating Windows clients off of old operating systems, often times they have older software installed on their systems.  UDI allows you to map old applications to new applications which auto selects the applications within the UDI Wizard.  This automation is very useful when deploying thousands of systems and is really easy to implement. 

First you’ll want to gather the list of MSI codes of older applications you will map applications to.  Here is a list of common application MSI codes I have gathered of readily used apps.

Adobe Acrobat X Pro – English, Fran็ais, Deutsch    {AC76BA86-1033-F400-7760-000000000005}    20130917    Adobe Systems    10.1.8

Adobe Acrobat  8 Standard – English, Français, Deutsch    {AC76BA86-1033-F400-BA7E-000000000003}    20100902    Adobe Systems    8.1.4

Adobe Acrobat  9 Standard    {AC76BA86-1033-0000-BA7E-000000000004}    20130904    Adobe Systems    9.5.5

Adobe Acrobat 9 Pro – English, Français, Deutsch    {AC76BA86-1033-F400-7760-000000000004}    20120217    Adobe Systems    9.2.0

Adobe Acrobat X Standard – English, Français, Deutsch    {AC76BA86-1033-F400-BA7E-000000000005}    20131119    Adobe Systems    10.1.8

ShoreTel Communicator    {F1C578ED-14C7-4AE1-A17D-C00DF3D47CA8}    20140305    ShoreTel, Inc.    18.62.6200.0

SnagIt 7    {4360BB46-507E-4361-8DCB-4FF9BDC9907B}    20111216    TechSmith Corporation    7.2.5

Snagit 11    {68723B04-57EC-11E1-A6A8-9E2D4824019B}    20130128    TechSmith Corporation    11.1.0

Snagit 9.1.3    {5C47C8B6-77FF-4FC7-A388-66FCF9CFC24C}    20121121    TechSmith Corporation

Snagit 11    {B5C1B474-149D-402F-BAA3-E2A45D136646}    20131204    TechSmith Corporation    11.3.0

Microsoft Office Access MUI (English) 2010    {90140000-0015-0409-0000-0000000FF1CE}    20131213    Microsoft Corporation    14.0.7015.1000

Microsoft Office Access MUI (English) 2007    {90120000-0015-0409-0000-0000000FF1CE}    20130227    Microsoft Corporation    12.0.4518.1014

Microsoft Office Visio Professional 2007    {90120000-0051-0000-0000-0000000FF1CE}    20130304    Microsoft Corporation    12.0.6612.1000

Microsoft Office Project Professional 2007    {90120000-003B-0000-0000-0000000FF1CE}    20131008    Microsoft Corporation    12.0.6612.1000

Microsoft Office Project Standard 2007    {90120000-003A-0000-0000-0000000FF1CE}    20111215    Microsoft Corporation    12.0.6425.1000


Next within the UDI Wizard, go to StageGroup: Refresh and double click on Install Programs. 


Highlight the application you would like to map older applications to and at the bottom, you will see a mappings tab. 


At the right, click the Plus sign with the PID (Product ID) and enter the name of the application and copy in the MSI code.  Do this for all of your application mappings and save your changes. 

You’ll need to distributed the MDT package out to all of your DP’s for this change to affect your deployments.

Happy Friday!

Change Dell BIOS Boot Order

2 04 2014

In order to change a Windows XP boot order prior to a migration to Windows 7, I used Dell’s Client Configuration Toolkit 2.2.1.  The purpose was to set the HDD to the top of the boot order to eliminate PXE broadcasts during migration reboots.  Here are the steps I took to do so:

Here are the steps I took to do so.

1. Downloaded the Dell’s CCTK

2. Installed the CCTK to an XP computer

3. Copy the 32-bit folder to the Primary site server

4. Create a Dell CCTK 32-bit package in SCCM (Distribute to DPs)

5. Create a command line task on the Task Sequence that will run the following command: cctk.exe bootorder –sequence:hdd