Tracking Dell Laptops using Dell Service Tags / Dell Serial Numbers / Dell Express Service Codes
"Dell Service Tag", "Dell Serial Number", and "Dell Express Service Code" all mean the same thing - a tag which is unique to each device.
The tag is visible on each device. It is also stored in the BIOS and can be queried across the network.
Asset management tools such as
xAssets IT Asset Management Software use these tags to track the device
and hook into webservices and apps, to lookup warranty information and other relevant endpoint data.
There are several ways to track Dell Service Tags on your devices:
- Use PowerShell scripts to discover and record Service Tags
- Use the Dell support website to look up warranty information
- Use endpoint management toolsets like Intune and SCCM
- Use discovery tools such as xAssets Network Discovery, to discover and track Dell laptops
Having this information in an IT Asset Management system
or an Excel spreadsheet enables start tracking and management these devices.
Knowing each service tag, you can also lookup warranty information using the Dell support website.
Where to find the Dell Service Tag on a Device
For new devices, the Service Tag is on the cardboard box, showing as "Service Tag (S/N):".
Once unboxed, the Service Tag is on a label on the bottom of the laptop or on the side or back of a desktop.
In both cases, you could use a keyboard wedge scanner to scan the Service Tags barcode, but it can be quite small !
However since all these methods involve visiting the physical endpoint,
it is usually easier to use the network based techniques below to get
the service tags without leaving your desk
How to get the Service Tag of a single Dell device using PowerShell
Here is a simple PowerShell script to get the Service Tag of a Dell laptop or desktop.
The computer you run this script on must be able to connect to the target computer using WMI.
# This can be a computer name or an IP address
$computername = "DEV3"
$global:results = @()
function Get-WMIDeviceData {
param (
[string]$ipAddress
)
Write-Host "Checking IP for $ipAddress.."
try {
$computerSystem = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $ipAddress -ErrorAction Stop
$bios = Get-WmiObject -Class Win32_BIOS -ComputerName $ipAddress -ErrorAction Stop
if ($computerSystem -and $bios) {
$global:results += [PSCustomObject]@{
IPAddress = $ipAddress
Manufacturer = $computerSystem.Manufacturer
Model = $computerSystem.Model
SerialNumber = $bios.SerialNumber
}
} else {
Write-Host "WMI data could not be retrieved for $ipAddress" -ForegroundColor Yellow
}
} catch {
Write-Host "Error retrieving data from $ipAddress : $_" -ForegroundColor Red
}
}
Get-WMIDeviceData -ipAddress $computername
if ($global:results.Count -gt 0) {
$global:results | Format-Table -AutoSize
} else {
Write-Host "Device $computername not found or no WMI data returned" -ForegroundColor Red
}
To use the above script:
- Copy and paste it into a text file with a .ps1 extension
- Edit the $computername variable to the required Computer Name
- Run the script in a PowerShell window using & <scriptname>
The script output for one machine was:
IPAddress | Manufacturer | Model | SerialNumber |
---|
10.5.0.23 | Dell | Latitude 5040 | DWS739XUJ |
How to use PowerShell to get all Service Tags in a subnet
Here is a simple PowerShell script to get the Service Tag of a Dell laptop or desktop. You can run this script on a subnet
to get the Service Tag of all the Dell devices on that subnet. Change the $subnet variable to match your subnet in the below script.
This script takes about 10-15 minutes to run for a 254 node subnet. (note that xAssets Network Discovery can scan a subnet in around 30 seconds - refer to the section on Discovery below)
The script will also work across subnets with the necessary permissions.
# Define the subnet to scan
$subnet = "10.5.0."
$global:results = @()
function Get-WMIDeviceData {
param (
[string]$ipAddress
)
try {
$computerSystem = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $ipAddress -ErrorAction Stop
$bios = Get-WmiObject -Class Win32_BIOS -ComputerName $ipAddress -ErrorAction Stop
$global:results += [PSCustomObject]@{
IPAddress = $ipAddress
Manufacturer = $computerSystem.Manufacturer
Model = $computerSystem.Model
SerialNumber = $bios.SerialNumber
}
} catch {
Write-Host "Unable to retrieve data from $ipAddress" -ForegroundColor Yellow
}
}
for ($i = 1; $i -le 254; $i++) {
$ip = "$subnet$i"
if (Test-Connection -ComputerName $ip -Count 1 -Quiet) {
Write-Host "Ping successful for $ip. Retrieving WMI data..."
Get-WMIDeviceData -ipAddress $ip
}
}
if ($global:results.Count -gt 0) {
$global:results | Format-Table -AutoSize
} else {
Write-Host "No devices responded on the subnet." -ForegroundColor Red
}
To use the above script:
- Copy and paste it into a text file with a .ps1 extension
- Edit the $subnet variable to the required subnet address range
- Run the script in a PowerShell window using & <scriptname>
The script output on a small test network was as follows:
IPAddress | Manufacturer | Model | SerialNumber |
---|
10.5.0.2 | Microsoft Corporation | Virtual Machine | 5604-2992-1600-6029-6004-7299-47 |
10.5.0.3 | Microsoft Corporation | Virtual Machine | 0244-7618-8240-4664-3340-4866-95 |
10.5.0.20 | xAssets Server Lab | xAssets Custom Build | DWS737XUM |
10.5.0.21 | xAssets Server Lab | xAssets Custom Build | DWS739XUC |
10.5.0.23 | ASUS | xAssets Custom Build | DWS739XUJ |
10.5.0.25 | HP | 550-170na | CZC5481WVX |
10.5.0.26 | Microsoft Corporation | Virtual Machine | 3478-2413-9288-1250-6489-9450-37 |
10.5.0.27 | Microsoft Corporation | Virtual Machine | 0244-7618-8240-4664-3340-4866-95 |
10.5.0.31 | Microsoft Corporation | Virtual Machine | 6999-6429-1984-7855-6027-4674-71 |
10.5.0.32 | Microsoft Corporation | Virtual Machine | 6545-6357-1458-4457-2963-4889-59 |
10.5.0.33 | Microsoft Corporation | Virtual Machine | 7785-4413-3234-1736-8361-7928-29 |
10.5.0.34 | Microsoft Corporation | Virtual Machine | 7567-4061-3909-9122-6568-5274-81 |
10.5.0.35 | Dell Inc. | Vostro 470 | DR38WX1 |
10.5.0.38 | Microsoft Corporation | Virtual Machine | 7570-5706-9239-7848-2473-4904-66 |
10.5.0.42 | xAssets Server Lab | xAssets Custom Build | DWS739XUC |
10.5.0.45 | Microsoft Corporation | Virtual Machine | 6336-2099-5705-2367-7990-5874-44 |
10.5.0.50 | Microsoft Corporation | Virtual Machine | 3387-7064-8523-1625-6732-2422-53 |
Getting the Dell Service Tag from SCCM
The following Sql Server query can be used to retrieve the Dell Service Tag from SCCM.
If you want to retrieve serial numbers for all equipment and not just Dell, you can simply remove the first part of the "where clause".
select SYS.Netbios_Name0 AS ComputerName,
ENC.SerialNumber0 AS ServiceTag,
CS.Manufacturer0 AS Manufacturer,
CS.Model0 AS Model
FROM v_GS_SYSTEM_ENCLOSURE ENC
inner join v_R_System SYS ON ENC.ResourceID = SYS.ResourceID
inner join v_GS_COMPUTER_SYSTEM CS ON SYS.ResourceID = CS.ResourceID
where CS.Manufacturer0 LIKE '%Dell%'
and ENC.SerialNumber0 IS NOT NULL
order by SYS.Netbios_Name0;
The output from this sql gives the computer name, the service tag, the manufacturer and the model.
ComputerName | ServiceTag | Manufacturer | Model |
---|
DEV4 | 70CAJD3 | Dell Inc. | OptiPlex 7010 |
DEV5SURROGATE | 433D33G | Dell Inc. | PowerEdge R510 |
ASD-DS-GFAHESC | 92SDJ5V | Dell Inc. | PowerEdge R320 |
CDD30 | 17PDZW1 | Dell Inc. | Latitude E6330 |
MANSDKED | 6DDFM44 | Dell Inc. | Latitude E5450 |
PLAMBY2 | FDJSK22 | Dell Inc. | Latitude E7240 |
DFD-GG-DD14WWX | JFDS33G | Dell Inc. | PowerEdge R300 |
Getting the Dell Service Tag from Microsoft Endpoint Manager / Intune
A simple Microsoft Graph query can be used to retrieve the Dell Service Tag from Microsoft Endpoint Manager.
Log into Microsoft Graph https://developer.microsoft.com/en-us/graph/graph-explorer,
then run the following query:
https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$select=deviceName,serialNumber,manufacturer,model&$filter=manufacturer eq 'Dell Inc.'
Note: you can omit "&$filter=manufacturer eq 'Dell Inc.'" if you want to see all computers in Intune
Paste the URL directly into Microsoft Graph Explorer to get the Service Tags of all devices in your Microsoft Endpoint Manager.
This is what the output looks like for a single computer:
{
"value": [
{
"deviceName": "XADEV4015",
"serialNumber": "DX7850JP",
"manufacturer": "Dell Inc.",
"model": "Latitude 5440"
}
]
}
How to track Dell Service Tags using xAssets IT Asset Management Software
The xAssets Network Discovery tool, which is part of the xAssets ITAM suite, includes discovery of Dell Service Tags.
It also includes an integration to Dell Warranty services to retrieve warranty information, so "out of the box" you can
get a full inventory of all your Dell Service Tags, and very deep information on each computer and its software,
and detailed Warranty Information, with just a few clicks.
The discovery tool provides deep information on each asset, including disk space and size, memory, CPU, software installed, attached devices, patches, services,
and much more.
Software is recognised so you can see the software vendor, version, and license information.
The tool can also infer Location from IP Address so you can track the location of each device without manual entry.
The discovery tool can also track Dell Docking Stations and maintain a relationship between the laptop and the docking station.
The process is simple:
- Sign up to get a free instance
- Install the xAssets Collection Server tool on a server
- Setup location to ip range relationships
- Run discovery of your entire network
- Add credentials to integrate with the Dell website to get warranty information
- View the results in the xAssets ITAM web interface
This will provide all the information you need to know where your devices are, who has them, when the warranties will expire, and what software is installed.
If you have SCCM or Intune, then xAssets IT Asset Management Software has integrations to pull data from these systems. This means it may not be
necessary to run a network discovery tool, as the data is already in SCCM or Intune. However note that the available data in Intune can be limited.
There is a free version of the discovery tool which supports up to 100 devices, and a paid version which supports the number of devices you license.
Whereas the PowerShell script above takes around 15 minutes to run,
xAssets Network Discovery can usually scan a single subnet in around 30 seconds, and multiple subnets can be scanned in parallel.
Contact us to get a free instance