Solved

VBS script

Posted on 2009-03-30
1
530 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
1 Comment
 
LVL 14

Accepted Solution

by:
rejoinder earned 125 total points
Comment Utility
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

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

This script will sweep a range of IP addresses (class c only, 255.255.255.0) and report to a log the version of office installed. What it does: 1.)      Creates log file in the directory the script is run from (if it doesn't already exist) 2.)      Sweep…
Not long ago I saw a question in the VB Script forum that I thought would not take much time. You can read that question (Question ID  (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_28455246.html)28455246) Here (http…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

772 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

10 Experts available now in Live!

Get 1:1 Help Now