Get Dell Service Tag using PowerShell

by Bharat Suneja

A popular script on this blog uses the Win32_SystemEnclosure WMI class to get the Dell Service Tag from Dell computers [see Getting Dell Service Tag using WMI].

Powershell’s Get-WmiObject cmdlet makes it a one-liner. You can also use it to get the serial number from systems made by other manufacturers.:

Get-WmiObject win32_SystemEnclosure | select serialnumber

To list all properties exposed by the Win32_SystemEnclosure class:

Get-WmiObject win32_SystemEnclosure | fl *

Update 7/13/2022:

As @Ripstone commented, Get-WmiObject is superseded by the new Get-CimInstance cmdlet based on the Common Information Model (CIM). You can use it to get the same Win32_SystemEnclosure class and the Dell Service Tag or serial number.

Get-CimInstance win32_SystemEnclosure | select serialnumber

For more information about differences between WMI and CIM, see Get-CIMInstance Vs Get-WMIObject: What’s The Difference?

{ 11 comments… read them below or add one }

Ronald February 12, 2007 at 1:39 pm

Seems like the following works too:

Get-WMIObject -Class Win32_Bios

Added advantage is it works on my IBM Blades too whereas the other does not…


Anonymous November 24, 2008 at 9:07 am

gwmi win32_bios

works too


cheap computers October 21, 2009 at 2:30 am

Dell has been remarkably open to date in allowing users to publicly vent their spleen on its blog.


Albert Widjaja March 6, 2011 at 11:36 pm

Does this also works for HP Server ?


Mark May 23, 2012 at 2:22 pm

So how do you get the serial without all of the extra text. I have thus far:

gwmi win32_bios | select serialnumber

But that returns:

[The actual serial number]

How can I omit the first two lines being returned?


EvilEmuOfDoom June 4, 2012 at 7:40 am

“How can I omit the first two lines being returned?”

You want to use the “-expand” flag for Select-Object. Try this:
gwmi win32_bios | select -expand serialnumber


Robert September 24, 2012 at 1:37 pm

How can you get the service tags for multiple servers at the same time?


Nathan October 23, 2012 at 1:59 pm

gwmi win32_bios -computer servername | select -expand serialnumber


Ripstone February 8, 2022 at 6:16 am

WMI has been deprecated since PowerShell v3. This command should work going forward:

Get-CimInstance win32_SystemEnclosure | select serialnumber


antonio March 17, 2023 at 11:34 am

Sharing a one liner to get the info from multiple computers, using the info i learned here:)

Invoke-Command -ComputerName svr1,svr2,svr3,svr4 -ScriptBlock {Get-WmiObject win32_SystemEnclosure | select serialnumber}


haq February 20, 2024 at 7:01 am

I need the script to find computer/host name if we know the service tag within a network not locally.


Leave a Comment

Previous post:

Next post: