?
Solved

VBS script

Posted on 2009-03-30
1
Medium Priority
?
573 Views
Last Modified: 2012-05-06
Hello,
i'm new with typing VBS and i would like create VBS script which is get the model number ( for ex. dell latitude 630) and if the VBS script found that the machine type is Dell 630 then execute one batch file. I would like to also do this just one time on each dell 630 machine. I hope that my explenation is clear if not please let me know.

Thank you for your help
0
Comment
Question by:jarmo666
[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
1 Comment
 
LVL 14

Accepted Solution

by:
rejoinder earned 500 total points
ID: 24022684
Try this.  You may need to uncomment the line;
'wscript.echo strModel
to see what text is being compared.
Change the line;
strEXE = """C:\Some Batch File.bat"""
Change the variable to point to the batch file, vbs or whatever.
There are two other variables that will be searched to see if the script has run;
Const strResistryLoc  = "SOFTWARE\Helpdesk"
Const strTestRegistry = "Dell-Batch-File"
These point to the local users registry but can be modified to the local machine.  Anyway, each time the script is run, it will look for a preset registry entry.  If found it will compare the number against the version number on line 7.  If the registry key is less than or equal to the script version number, the script will end.  Otherwise, the script will execute and set the value in the registry.
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
Const strResistryLoc  = "SOFTWARE\Helpdesk"
Const strTestRegistry = "Dell-Batch-File"
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const Version = 1
 
strComputer = "."
 
if NOT FindRegKey(strComputer) then
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT Model FROM Win32_ComputerSystem", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
    For Each objItem In colItems
        strModel = trim(objItem.Model)
    Next
    
    'wscript.echo strModel
    
    if lcase(strModel) = lcase("Dell Latitude 630") then
        set objShell = wscript.createobject("wscript.shell")
        strEXE = """C:\Some Batch File.bat"""
        objShell.run strEXE,0,TRUE
    end if
    CreateRegKey(strComputer)
End if
 
Function FindRegKey(Computer)
    Set objReg   = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\default:StdRegProv")
    strKeyPath   = strResistryLoc
    strValueName = strTestRegistry
    objReg.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
    if IsNull(strValue) then
        strValue = 0
    end if
    if Version > CInt(strValue) then
        FindRegKey = False
    else
        FindRegKey = True
    end if
End Function
 
Sub CreateRegKey(Computer)
    Set objReg   = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\default:StdRegProv")
    strKeyPath   = strResistryLoc
    strValueName = strTestRegistry
    strValue     = CSTR(Version)
    Return       = objReg.CreateKey(HKEY_CURRENT_USER, strKeyPath)
    objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
End Sub

Open in new window

0

Featured Post

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!

Question has a verified solution.

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

In this article we want to have a look at the directory attributes which are used by Microsoft to store the so called Security Identifiers (SID). These SIDs plays an important role in delegating and granting permissions and in authentication of trus…
Introduction During my participation as a VBScript contributor at Experts Exchange, one of the most common questions I come across is this: "I have a script that runs against only one computer. How can I make it run against a list of computers in …
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses

765 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