Pizza Box, Lunch Box and other PC case form factors identified by WMI

One of the many classes I wasn’t able to discuss in last week’s post about WMI scripting is the Win32_SystemEnclosure class. It enables access to a number of properties regarding the computer’s physical case. Things like depth, height, width, and weight all make perfect sense for properties you might like to know or use to determine if a policy should apply. There are plenty of other descriptive properties as well like if the case has an audible alarm or can detect when it has been opened. Another such property is ChassisType, inherited from the CIM_Chassis class. It returns a simple integer that coincides with a value that describes the form factor of the computer you query.

The numbers translate according to the table below.

Low Profile Desktop
Pizza Box
Mini Tower
Hand Held
Docking Station
All in One
Sub Notebook
Lunch Box
Main System Chassis
Expansion Chassis
Bus Expansion Chassis
Peripheral Chassis
Storage Chassis
Rack Mount Chassis
Sealed-Case PC

Some of those are quite common and you hear the terms all the times. To focus on three odd ones, let’s look at #5 – Pizza Box, #14 – Sub Notebook, and #16 – Lunch Box.

Pizza Box

This case is named after the pizza box because it tends to be wide and flat – normally 1U or 2U. Sun Microsystems workstations like the SPARCstation 1 and 5 were some of the earliest to be dubbed ‘pizza box systems’. The Macintosh LC and the Amiga 1000, amongst others, were notable pizza box examples during their day.

While it may seem like an odd term, the pizza box form factor is actually quite common today with servers and networking equipment designed for rack mounting.

Of course, the Internet proves itself again with somebody who actually took an Apple LC3and installed it in a Pizza Hut pizza box.

Sub Notebook

The subnotebook is also called an ultraportable or mini notebook. Like the difference between a ‘laptop’ and a ‘notebook’, the reason for specifically determining this chassis seems to be lost. Being smaller and lighter than a laptop but larger than handheld PCs, they are often confused with other form factors. A subnotebook is not a netbook or an ultra-mobile PC.

The Compaq LTE, launched in 1989, was the first to be widely known as a “notebook computer” because its relatively small dimensions— 4.8x22x28 cm (1.9 × 8.5 × 11 inches)—were similar to an A4 paper notebook. The Compaq was followed in October 1992 by the very popular IBM ThinkPad, which was the first to include a 26.416 cm (10.4 inches) screen in a notebook measuring 5.588 x 21.082 x 28.3718 cm (2.2 × 8.3 × 11.7 inches). Portables with smaller form factors thus became known as subnotebooks.

Lunch Box

A Lunch Box Computer, a portable computer case to house standard computer parts together with a flat screen. Often used when laptops lack performance or expansion possibilities.

Even though the lunch box computer might not get its own page over at Wikipedia, they are still available from various retailers to fill their unique niche. One such place that offers a variety of field-use portables is Sterling Computer Sales.


Regardless of whether or not knowing the form factor of a computer would be helpful, our hands are kind of tied. You may have PCs from a lazy manufacturer who lists all its cases as ‘other’ or ‘unknown’ or something equally arbitrary. On the other hand, there are a lot of different form factors that are not covered by the table like recent trends with netbooks, virtual machines, and now ultrabooks. How useful the ChassisType property is will vary with each environment. Hopefully it was at least interesting to look into the pizza box, sub notebook, and lunch box form factors.

If you want to run a script to see how your chassis identifies itself, you can use this script from Guy’s Scripting Ezine.

' Chassis.vbs
' VBScript to interogate a machine's chassis type.
' Author Guy Thomas
' Version 2.3 - November 2005
' ---------------------------------------------------------'
Option Explicit
Dim strComputer, strChassis
Dim objWMIService, objChassis, colChassis, objItem
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colChassis = objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure",,16)
For Each objChassis in colChassis
For Each objItem in objChassis.ChassisTypes
Select Case objItem
Case 1 strChassis = "Maybe Virtual Machine"
Case 2 strChassis = "??"
Case 3 strChassis = "Desktop"
Case 4 strChassis = "Thin Desktop"
Case 5 strChassis = "Pizza Box"
Case 6 strChassis = "Mini Tower"
Case 7 strChassis = "Full Tower"
Case 8 strChassis = "Portable"
Case 9 strChassis = "Laptop"
Case 10 strChassis = "Notebook"
Case 11 strChassis = "Hand Held"
Case 12 strChassis = "Docking Station"
Case 13 strChassis = "All in One"
Case 14 strChassis = "Sub Notebook"
Case 15 strChassis = "Space-Saving"
Case 16 strChassis = "Lunch Box"
Case 17 strChassis = "Main System Chassis"
Case 18 strChassis = "Lunch Box"
Case 19 strChassis = "SubChassis"
Case 20 strChassis = "Bus Expansion Chassis"
Case 21 strChassis = "Peripheral Chassis"
Case 22 strChassis = "Storage Chassis"
Case 23 strChassis = "Rack Mount Unit"
Case 24 strChassis = "Sealed-Case PC"

End Select
WScript.Echo "Computer chassis type: " & strChassis
'WScript.Echo strComputer & "'s chassis type: " & strChassis