Solved

VBS script

Posted on 2009-03-30
1
561 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 125 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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say 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

Script to copy or move mouse-selected collection of files plus targets referenced by shortcuts (.lnk) The purpose of this article is to help illuminate the real challenges and options available (where they may exist) for utilizing simple scriptin…
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…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

733 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