Solved

Remote WMIC for Dell Service Tag

Posted on 2011-02-23
5
1,982 Views
Last Modified: 2016-02-23
Having some issues.

@echo off
SYSTEMINFO /S “servername” /U “Doamin”\”username” /P “password” /FO CSV >> "C:\My\Desktop\INFO.csv"

Works like a champ. But it does not give me the Dell Service Tag that I need.

@echo off
wmic csproduct get name,vendor,identifyingNumber >> "C:\My\Desktop\Service_Tag_INFO.csv"

works locally, with identifyingNumber being the service tag, but I cannot get it to work remotely.

I need to combine these two and so far, nada. Ultimately I guess,  I just need to get the second one to work.

I have tried;

wmic /node:”Machine-Name” csproduct get name,vendor,identifyingNumber >> "C:\My\Desktop\Service_Tag_INFO.csv"

with no luck. I get “Invalid Global Switch” I certainly plead ignorance to all of the subtleties of using WMIC, so any thoughts would be appreciated.

I am trying to run this from a Windows 7 Professional box to multiple Server 2008R2 boxes. I have turned on WMI through the firewall on the one test server I am trying to hit. As well as in the Inbound and Outbound rules.
0
Comment
Question by:CaineMarko
5 Comments
 
LVL 11

Expert Comment

by:yelbaglf
ID: 34967053
You could try something like this, which uses the Win32_SystemEnclosure Class to pull the SerialNumber property.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSMBIOS = objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure")
For Each objSMBIOS in colSMBIOS
Wscript.Echo "Dell Service Tag: " & objSMBIOS.SerialNumber
Next

Open in new window

0
 
LVL 7

Expert Comment

by:TechnoChat
ID: 34968715
Try this script, you can get service tag of multiple system. This script written by Jim Cameron.


Details:
' Dell-ServiceTag
'
' Purpose: Obtain the Dell service tag from a Dell computer or computers.
'
' Version: 1.0
' Created on: 2008-01-10
' Last updated: 2008-01-10
'
' Created By: Jim Cameron
'
' Download URL:
' http://support.moonpoint.com/downloads/computer_languages/VBScript/Dell-ServiceTag.vbs
'
' Note: Based on a script written by LazyNetworkAdmin
' (http://lazynetworkadmin.com/), which is provided at
' http://lazynetworkadmin.com/content/view/13/6/
'

' Usage: From a command prompt, use "cscript /nologo dell-servicetag.vbs
' <computername1> <computername2>
'
' Examples:
'
' 1. Query computer on which the script is run:
'
' cscript /nologo dell-servicetag.vbs .  
'
' 2. Query multiple computers named a, b, c
'
' cscript /nologo dell-servicetag.vbs a b c
'
' Output:
'
' Computer: a Dell Service Tag: ZRKF461
' Computer: b Dell Service Tag: ZZ89M81
' Computer: c Dell Service Tag: EYCNH41
'
' -------------------------------------------------------------------------- '

' Dell-ServiceTag
'
' Purpose: Obtain the Dell service tag from a Dell computer or computers.
' 
' Version: 1.0
' Created on: 2008-01-10
' Last updated: 2008-01-10
'
' Created By: Jim Cameron
'
' Download URL: 
' http://support.moonpoint.com/downloads/computer_languages/VBScript/Dell-ServiceTag.vbs
'
' Note: Based on a script written by LazyNetworkAdmin 
' (http://lazynetworkadmin.com/), which is provided at
' http://lazynetworkadmin.com/content/view/13/6/
'

' Usage: From a command prompt, use "cscript /nologo dell-servicetag.vbs
' <computername1> <computername2>
'
' Examples:
' 
' 1. Query computer on which the script is run:
'
' cscript /nologo dell-servicetag.vbs .  
' 
' 2. Query multiple computers named a, b, c
'
' cscript /nologo dell-servicetag.vbs a b c
'
' Output:
'
' Computer: a Dell Service Tag: ZRKF461
' Computer: b Dell Service Tag: ZZ89M81
' Computer: c Dell Service Tag: EYCNH41
' 
' -------------------------------------------------------------------------- '

strVersion = "1.0"

' If the system doesn't exist or is inaccessible don't display a window
' with error code in it.
On error resume next

If Wscript.Arguments.Count = 0 Then
   ShowUsage()
Else
    Dim arrComputers()
    For i = 0 to Wscript.Arguments.Count - 1
	Redim Preserve arrComputers(i)
	arrComputers(i) = Wscript.Arguments(i)
    Next
End If
    
For Each strComputer in arrComputers
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colComputer = objWMIservice.ExecQuery("Select * from Win32_BIOS",,48)
    For Each objComputer in colComputer
	If Err.Number=0 Then
           Wscript.Echo "Computer: " & strComputer & " " & _
           "Dell Service Tag: " & objComputer.serialnumber
        Else
            WScript.Echo strComputer & " <system inaccessible>"
            Err.Clear
        End If 
    Next      
Next

Wscript.Quit

sub ShowUsage()
   WScript.Echo "Dell-ServiceTag " & strVersion & vbcrlf & _
   vbcrlf & _
   "Display the service tag for a Dell computer or computers." & vbcrlf & _
   vbcrlf & _
   "Usage: From a command prompt, use cscript /nologo " & _
   "dell-servicetag.vbs computername1" & vbcrl & _
   " computername2" & vbcrlf & _
   vbcrlf & _
   "Examples:" & vbcrlf & _
   vbcrlf & _ 
   " 1. Query computer on which the script is run (a period can be " & vbcrlf _ 
   & "    used in lieu of the name of the current computer):" & vbcrlf & _
   vbcrlf & _
   "    cscript /nologo dell-servicetag.vbs ." & vbcrlf & _  
   vbcrlf & _
   " 2. Query multiple computers named a, b, c:" & vbcrlf & _
   vbcrlf & _
   "    cscript /nologo dell-servicetag.vbs a b c"
   WScript.Quit
End Sub

Open in new window

0
 
LVL 11

Accepted Solution

by:
yelbaglf earned 500 total points
ID: 34975391
You could also do something like this, which would allow you to run this against any number of PC's or Server's, etc. and write the results to a log file.

On Error Resume Next
Const svcTag_LOG = "\\Path_To_Log\svcTag_LOG.txt"
Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
    ("\\Path_To_ServerList\servers.txt", ForReading)

strText = objTextFile.ReadAll
objTextFile.Close

arrComputers = Split(strText, vbCrLf)

For Each strComputer in arrComputers
    	'Wscript.Echo strComputer
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSMBIOS = objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure")
For Each objSMBIOS in colSMBIOS
'Wscript.Echo "Dell Service Tag: " & objSMBIOS.SerialNumber
Set objLogFile = objFSO.CreateTextFile(svcTag_LOG, 2)
objLogFile.WriteLine ("Dell Service Tag for " & strComputer & " is " & objSMBIOS.SerialNumber)
Next
Next

Open in new window

0
 
LVL 82

Expert Comment

by:leakim971
ID: 37714996
Thanks a lot! Work great!
0
 

Expert Comment

by:Mad Atterz
ID: 41477014
Thanks, that works a treat. Is there a way of also reporting who the current logged on user is aswell?
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

Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
Restoring deleted objects in Active Directory has been a standard feature in Active Directory for many years, yet some admins may not know what is available.
This tutorial will walk an individual through the steps necessary to configure their installation of BackupExec 2012 to use network shared disk space. Verify that the path to the shared storage is valid and that data can be written to that location:…
This tutorial will walk an individual through the steps necessary to enable the VMware\Hyper-V licensed feature of Backup Exec 2012. In addition, how to add a VMware server and configure a backup job. The first step is to acquire the necessary licen…

828 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