Solved

Dell Service Tag

Posted on 2003-12-03
10
6,811 Views
Last Modified: 2008-02-01
Hi There,

Is there any way to access the Dell Service Tag programmically?

OS : WinXp
Visual Studio 6

Cheers
0
Comment
Question by:TopCat_UK
  • 4
  • 3
  • 2
  • +1
10 Comments
 
LVL 32

Assisted Solution

by:jhance
jhance earned 100 total points
ID: 9865715
I've not seen this documented but it must be possible because the Dell support program reads it.  My guess is that it's stored in the registry somewhere.

On my Dell, I found it under:

HKLM\Software\Dell Computer Corporation\OpenManage\Resolution Assistant\...

Should get you pointed in the right direction.

***********************************************************************************
                                   COMMENT DISCLAIMER
***********************************************************************************
   CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION
***********************************************************************************
                           READ THIS COMMENT AT YOUR OWN RISK

 This helpful comment MAY include straight talk relating to or about your question.
   If you are easily offended by such talk, please disregard this comment in its
                                        entirely.
***********************************************************************************
                               Thank you for your cooperation
***********************************************************************************
0
 
LVL 1

Author Comment

by:TopCat_UK
ID: 9865758
I have checked the registry.  I have a different hive to you, because openmanage/client is all I have.  
I may be missing the Resolution Assistant because the correct dell software isn't included????
0
 
LVL 32

Expert Comment

by:jhance
ID: 9865771
If you re-installed Windows, the Dell service tag will not be stored on the system.  I think SOME Dell models have the service tag programmed into the BIOS/CMOS memory and this could be retrieved by a BIOS RAM readout application but you'd need to do some detective work to find the actual place they store the data.

As I said, however, I just looked at my specific Dell and found the service tag in the registry.  Did you search your entire registry for your service tag #?

***********************************************************************************
                                   COMMENT DISCLAIMER
***********************************************************************************
   CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION
***********************************************************************************
                           READ THIS COMMENT AT YOUR OWN RISK

 This helpful comment MAY include straight talk relating to or about your question.
   If you are easily offended by such talk, please disregard this comment in its
                                        entirely.
***********************************************************************************
                               Thank you for your cooperation
***********************************************************************************
0
 
LVL 1

Author Comment

by:TopCat_UK
ID: 9865799
The registry doesn't contain the tag.

I think I am going to have to write an app to read the BIOS/CMOS memory.

Bummer.
0
 
LVL 1

Author Comment

by:TopCat_UK
ID: 9865926
I think the answer lies in DSMBIOS accessed via dells dsmbios.dll.
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 32

Expert Comment

by:jhance
ID: 9865946
That does look promising.  Run DSMBIOS.DLL through:

DUMPBIN with the /EXPORTS option and see what kind of functions this DLL is exporting.  Could help you find the way to do it.

***********************************************************************************
                                   COMMENT DISCLAIMER
***********************************************************************************
   CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION
***********************************************************************************
                           READ THIS COMMENT AT YOUR OWN RISK

 This helpful comment MAY include straight talk relating to or about your question.
   If you are easily offended by such talk, please disregard this comment in its
                                        entirely.
***********************************************************************************
                               Thank you for your cooperation
***********************************************************************************
0
 
LVL 16

Accepted Solution

by:
Kyle Schroeder earned 150 total points
ID: 10147748
We use code similar to this to retrieve the information from WMI.  I believe there is a WMI entry for serial number too, though it is not included in this report (a modified version of this script is used after dumping an OS image to a machine before running our customized mini-setup wizard, to install the proper drivers for a specific model, etc).  Note that this is of course VBScript, not C++, but the WMI methods may be the way to go.  This may reveal something useful also:
http://www.faqshop.com/sms/default.htm?http://faqshop.com/sms/windows/dell%20dmi%20cli%20asset%20info.htm

' COMMENT: Example of using WMI to retrieve the computer model information
'
'==========================================================================
Dim wShell
Dim oWMI
Dim oEnum
Dim oInst
Dim sManufacturer, sModel, sChassis

Set wShell = CreateObject("Wscript.Shell")
Set oWMI = GetObject("WinMgmts:root/cimv2")

Set oEnum = oWMI.ExecQuery("SELECT Manufacturer, Model from Win32_ComputerSystem")
For Each oInst in oEnum
     sManufacturer = oInst.Manufacturer
     sModel = oInst.Model
Next

Set oEnum = oWMI.ExecQuery("SELECT ChassisTypes From Win32_SystemEnclosure")
For Each oInst in oEnum
     For each i in oInst.chassistypes
          sChassis = i
     Next
Next

Select Case sChassis
     Case 1: sChassis = "Other"
     Case 2 : sChassis = "Unknown"
     Case 3 : sChassis = "Desktop"
     Case 4 : sChassis = "Low Profile Desktop"
     Case 5 : sChassis = "Pizza Box"
     Case 6 : sChassis = "Mini Tower"
     Case 7 : sChassis = "Tower"
     Case 8 : sChassis = "Portable"
     Case 9 : sChassis = "Laptop"
     Case 10 : sChassis = "Notebook"
     Case 11 : sChassis = "Hand Held"
     Case 12 : sChassis = "Docking Station"
     Case 13 : sChassis = "All in One"
     Case 14 : sChassis = "Sub Notebook"
     Case 15 : sChassis = "Space-Saving"
     Case 16 : sChassis = "Lunch Box"
     Case 17 : sChassis = "Main System Chassis"
     Case 18 : sChassis = "Expansion Chassis"
     Case 19 : sChassis = "SubChassis"
     Case 20 : sChassis = "Bus Expansion Chassis"
     Case 21 : sChassis = "Peripheral Chassis"
     Case 22 : sChassis = "Storage Chassis"
     Case 23 : sChassis = "Rack Mount Chassis"
     Case 24 : sChassis = "Sealed-Case PC"
End Select

Dim sMsg
sMsg = "WMI returned the following computer model information." & vbCrLf & vbCrLf &_
          "Chassis: |" & sChassis & "|" & vbCrLf &_
          "Manufacturer: |" & sManufacturer & "|" & vbcrlf &_
          "Model: |" & sModel & "|" & vbCrLf & vbCrLf &_
          "NOTE: ""|"" characters were added in case leading or " & vbCrLf &_
          "trailing spaces exist.  They are not part of the information" & vbCrLf &_
          "stored in WMI."

MsgBox sMsg,,"WMI Model Information"

Set oInst = Nothing
Set oEnum = Nothing
Set oWMI = Nothing
Set wShell = Nothing

dogztar
0
 
LVL 5

Expert Comment

by:migoEX
ID: 10333668
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Split between jhance and dogztar.

Please leave any comments here within the next four days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

migoEX
EE Cleanup Volunteer
0
 
LVL 1

Author Comment

by:TopCat_UK
ID: 10340723
Agree. Thanks Guys.
0
 
LVL 5

Expert Comment

by:migoEX
ID: 10340766
TopCat_UK: So why don't you do it by yourself? Just click on "split points" link.
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. A…
Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now