Re-Usable VBScript Functions – Part I

In this Multi-Part Series I will post lists on VBScript Functions and Subs that I have either found or written. I am a big fan of turning any useful code into a functions and adding it to my default VBScript Template, it saves a ton of time on the next scripting task. By no means am I claiming I wrote all of  these, most were just re-purposed into reusable functions. I hope you find these useful. In the later part of the series I will include my template I use to begin all my scripts.

Determine if the computer is a laptop:

?View Code VBSCRIPT
Function IsLaptop(strComputer)
    On Error Resume Next
    Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" )
    Set colItems = objWMIService.ExecQuery( "Select * from Win32_Battery", , 48 )
    IsLaptop = False
    For Each objItem in colItems
        IsLaptop = True
    Next
    If Err Then Err.Clear
    On Error GoTo 0
End Function

Example of use

?View Code VBSCRIPT
If IsLaptop( "." ) Then
    WScript.Echo "Laptop
Else
    WScript.Echo "Desktop or server
End If


Shell out a command line with switches:

?View Code VBSCRIPT
Sub RunSwch(ByVal strRunCmd, strRunSwitch)
Dim objWshShell
    Set objWshShell = CreateObject("WScript.Shell")
    objWshShell.Run Chr(34) & strRunCmd & Chr(34)& " " & strRunSwitch, 1, True
    Set objWshShell = Nothing
End Sub

Example of use

?View Code VBSCRIPT
RunSwch "C:\Program Files\ApplicationX\Start.exe","/S /X /Log C:\log.log"


Shell out a command line without switches:

?View Code VBSCRIPT
Sub Run(ByVal strRunCmd)
Dim objWshShell
    Set objWshShell = CreateObject("WScript.Shell")
    objWshShell.Run Chr(34) & strRunCmd & Chr(34), 1, True
    Set objWshShell = Nothing
End Sub

Example of use

?View Code VBSCRIPT
Run "C:\Program Files\ApplicationX\Start.exe"