Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.

Win32_Product Is Evil

Greg Ramsey has been a roll lately with blog posts.  He’s published another really great read over on his blog. 

"I’m a bit of a fan of Windows Management Instrumentation (WMI), but today’s post is a bit of a ‘buyer beware’.  I’ll sum it up, and then provide some detail and give you some ideas of where this can be a very bad thing"

Read his full post here.


Making Sure ConfigMgr Task Sequence Has All The Packages It Needs To Continue

Michael Niehaus posted a blog post with some powershell scripts to help identify what packages you might be missing for your TS.  This can be a frustrating process as you try to identify what packages are missing, since the generic error doesn’t tell you what is all actually missing, just that something IS missing (one at a time). 🙂

Script files are attached to his post located here.


Custom Boot Wizard – Maximizing the window

I had previously done a bunch of work on making my custom boot wizard a certain size and centered, and it just didn’t always look as good as I wanted it to with various screen resolutions.  So I’ve resorted to simply always making sure the window is maximized 🙂

Open your wizardeditor and go to your global pane.  Then you will want to add a customstatement and put the following text in:

window.moveTo 0,0
window.resizeTo screen.availWidth, screen.availHeight


That’s it, save your changes, update your boot image, and test.  You should now have a front-end that is maximized and no longer need to worry about it being centered or large enough to contain your information.


ConfigMgr and/or MDT – Useful WMI Queries and WMI Tools

Wanted to post a blog entry with typical WMI “backend” queries for limiting Task Sequence steps.  My intention is to update this as I find more queries that we use. I’m going under the assumption that you know where to use this query, so I won’t be showing any examples or screenshots or instructions on using this with a Task Sequence step/variable.

Keep in mind that you can find out information you can query by using WMIC.  Common usage for model/driver type queries would be pulling information from CSPRODUCT, aka “WMIC CSPRODUCT” or “WMIC CSPRODUCT GET NAME”.

Here is a chart of info for queries.

WMI Tools from Microsoft gives you CIM Studio and Object Browser which are great for browsing WMI information to see possible properties to query.  Or you can always use “wbemtest” to enumerate classes.

Microsoft WMI Tools

Sample Queries

I pretty much always use a LIKE statement with variables.  In the world of HP model #’s, or other manufacturers, you don’t want to have 10 queries for the same model, variables eliminate the need for multiple queries, you can also do OR statements, but again I feel it’s easier to accomplish with a variable.

Query for Hardware ID:

SELECT * FROM Win32_PnPEntity WHERE DeviceID like ‘PCI\\VEN_8086&DEV_2822%’

Example usage is querying for the hardware ID of a video card that might be on multiple systems. You might want to tie a driver package to this step and only apply the driver package when the video card is detected.  Useful if the card is installed in various models.

Query for Version:

Select * from Win32_ComputerSystemProduct where Version like”%T61%”

Query for Model:

SELECT * FROM Win32_ComputerSystem WHERE Model LIKE “%2765T6U%”


WMIC Alias/WMI Class Mapping


Nice post by Mike that shows the various WMI alias’s and queries that are useful. Great info!