Solved

Dell Service Tag

Posted on 2003-12-03
10
6,816 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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
 
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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
This article shows you how to optimize memory allocations in C++ using placement new. Applicable especially to usecases dealing with creation of large number of objects. A brief on problem: Lets take example problem for simplicity: - I have a G…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
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.

749 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