28 September 2012

Verify SCCM Base Build

This will check for installed programs by verifying the existance of the uninstall registry key. This is located in the SCCM task sequencing just before the sysprep process. This also checks to see other settings on the machine such as if RDP is enabled. The script will submit the results to the log file that you can open up and review at the end of the script's execution before continuing with the build. This script is intended to be a primer only, as each firm will have different sets of programs to check for when generating a production build.

While utilizing this script, I have a task in the task sequencing right after this script that pauses the build until I click the OK button to continue. This is so I can go through and make sure all of the intended programs were installed before the image is created. If any were missed, then I know there is an issue with the task sequencing and I can manually install the program(s) before the image is generated. You can download the pause and verify scripts from the following links:




 '*******************************************************************************  
 '      Author: Mick Pletcher  
 '        Date: 09 March 2011  
 '    Modified:  
 '  
 '     Program: VerifyBaseBuild  
 '     Version: N/A  
 ' Description: This will check for installed programs by verifying the existance  
 '                 of the uninstall registry key. The programs will submit the results  
 '                 to the log file.  
 '                 1) Define the relative installation path  
 '                 2) Create the Log Folder  
 '                 3) Check if LocalAdming is in Administrators Group  
 '                 4) Check if RDP is enabled  
 '                 5) Check if VBScript RunAs Admin exists  
 '                 6) Microsoft .Net Framework 1.1  
 '                 7) Sun Java Runtime  
 '                 8) Apple Quicktime  
 '                 9) Bentley Prerequisite  
 '                10) CAD Standards  
 '                11) Make Directories  
 '                12) GSP Vision  
 '                13) GSP Way  
 '                14) GSP Enterprise Search  
 '                15) Advertisement Wizard  
 '                16) Microsoft Office 2007  
 '                17) Microsoft Office Communicator 2007  
 '                18) Microsoft Live Meeting  
 '                19) Seavus Project Viewer  
 '                20) Autodesk TruView 2011  
 '                21) Adobe Flash  
 '                22) Bentley View  
 '                23) Windows XP Mode  
 '                24) GSP PDF2  
 '                25) GS&P Directory File Service Shortcut  
 '                26) Equitrac  
 '                27) Check if Remote Registry is enabled  
 '                28) PDFx  
 '                29) Bentley XM Folder  
 '                30) Microsoft DaRT  
 '                31) Cleanup Global Variables  
 '*******************************************************************************  

 Option Explicit  

 REM Define Constants  
 CONST LogFile       = "VerifyBaseBuild.log"  
 CONST TempFolder    = "c:\temp\"  
 CONST LogFolderName = "VerifyBaseBuild"  

 REM Define Global Variables  
 DIM LogFolder  : LogFolder    = TempFolder & LogFolderName & "\"  
 DIM MsgBoxVar  : MsgBoxVar    = ""  
 DIM RelativePath : Set RelativePath = Nothing  
 REM Define the relative installation path  
 DefineRelativePath()  
 REM Create the Log Folder  
 CreateLogFolder()  
 REM Create Log File  
 CreateLogFile()  
 REM Check if LocalAdming is in Administrators Group  
 CheckLocalAdming()  
 REM Check RDP is enabled  
 CheckRDP()  
 REM Check if VBScript RunAs Admin exists  
 CheckVBScriptRunAs()  
 REM Check for Microsoft .Net Framework 1.1  
 MicrosoftDotNetFramework1DOT1()  
 REM Check for Sun Java Runtime  
 SunJavaRuntime()  
 REM Check for Apple Quicktime  
 AppleQuicktime()  
 REM Check for Bentley Prerequisite  
 BentleyPrerequisites()  
 REM Check for CAD Standards  
 CADStandards()  
 REM Check for Make Directories  
 MakeDirectories()  
 REM Check for GSP Vision  
 GSPVision()  
 REM Check for GSP Way  
 GSPWay()  
 REM Check for GSP Enterprise Search  
 GSPEnterpriseSearch()  
 REM Check for Advertisement Wizard  
 AdvertisementWizard()  
 REM Check for Microsoft Office 2007  
 MicrosoftOffice2007()  
 REM Check for Microsoft Office Communicator 2007  
 MicrosoftOfficeCommunicator2007()  
 REM Check for Microsoft Live Meeting  
 MicrosoftLiveMeeting()  
 REM Check for Seavus Project Viewer  
 SeavusProjectViewer()  
 REM Check for Adobe Flash  
 AdobeFlash()  
 REM Check for Bentley View  
 BentleyView()  
 REM Check for Windows XP Mode  
 WindowsXPMode()  
 REM Check for GSP PDF2  
 GSPPDF2()  
 REM Check for GS&P Directory File Service Shortcut  
 GSPDirectoryFileServiceShortcut()  
 REM Check for Equitrac  
 Equitrac()  
 REM Check if Remote Registry is enabled  
 CheckRemoteRegistry()  
 REM Pop up window displaying errors  
 'DisplayErrors()  
 REM Cleanup Global Variables  
 GlobalVariableCleanup()  

 '*******************************************************************************  
 '*******************************************************************************  

 Sub DefineRelativePath()  

      REM Get File Name with full relative path  
      RelativePath = WScript.ScriptFullName  
      REM Remove file name, leaving relative path only  
      RelativePath = Left(RelativePath, InStrRev(RelativePath, "\"))  

 End Sub  

 '*******************************************************************************  

 Sub CreateLogFolder()  

      REM Define Local Objects  
      DIM FSO : SET FSO = CreateObject("Scripting.FileSystemObject")  

      If NOT FSO.FolderExists(TempFolder) then  
           FSO.CreateFolder(TempFolder)  
      End If  
      If NOT FSO.FolderExists(LogFolder) then  
           FSO.CreateFolder(LogFolder)  
      End If  

      REM Cleanup Local Variables  
      Set FSO = Nothing  
 End Sub  

 '*******************************************************************************  

 Sub CreateLogFile()  

      REM Define Local Objects  
      DIM FSO   : SET FSO   = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.CreateTextFile(LogFolder & LogFile, True)  

      FileTxt.Close  

      REM Cleanup Local Variables  
      Set FSO   = Nothing  
      Set FileTxt = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub CheckLocalAdming()  

      REM Define Local Constants  
      CONST strComputer = "."  
      CONST strUserName = "nash\localadming"  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  
      DIM Group   : Set Group   = GetObject("WinNT://" & strComputer & "/Administrators,group")  

      REM Define Local Variables  
      DIM aMember : Set aMember = Nothing  

      For Each aMember In Group.Members  
           If aMember.Name = strUserName Then  
                FileTxt.WriteLine("LocalAdming is present")  
           Else  
                FileTxt.WriteLine("LocalAdming is missing")  
           End If  
      Next  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set aMember = Nothing  
      Set FileTxt = Nothing  
      Set FSO     = Nothing  
      Set Group   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub CheckRDP()  

      REM Define Local Constants  
      CONST HKEY_LOCAL_MACHINE = &H80000002  
      CONST strComputer        = "."  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  
      DIM oReg    : Set oReg    = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_   
                                     strComputer & "\root\default:StdRegProv")  

      REM Define Local Variables  
      DIM dwValue      : Set dwValue  = Nothing  
      DIM StdOut       : Set StdOut   = WScript.StdOut  
      DIM strKeyPath   : strKeyPath   = "SYSTEM\CurrentControlSet\Control\Terminal Server"  
      DIM strValueName : strValueName = "fDenyTSConnections"  

      On Error Resume Next  

      oReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue  
      If dwValue = 1 Then  
           FileTxt.WriteLine("Remote Desktop is Currently Disabled")  
      ElseIf dwValue = 0 then  
           FileTxt.WriteLine("Remote Desktop is Currently Enabled")  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set dwValue      = Nothing  
      Set FileTxt      = Nothing  
      Set FSO          = Nothing  
      Set oReg         = Nothing  
      Set StdOut       = Nothing  
      Set StrKeyPath   = Nothing  
      Set StrValueName = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub CheckVBScriptRunAs()  

      REM Define Local Constants  
      CONST HKLM        = &H80000002  
      CONST strComputer = "."  

      REM Define Local Objects  
      DIM FSO         : SET FSO         = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt     : Set FileTxt     = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  
      DIM objRegistry : Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")  

      REM Define Local Variables  
      DIM dwValue      : Set dwValue  = Nothing  
      DIM strKeyPath   : strKeyPath   = "SOFTWARE\Classes\VBSFile\Shell\runas\Command"  
      DIM strValueName : strValueName = ""  

      objRegistry.GetStringValue HKLM,strKeyPath,strValueName,dwValue  
      If IsNull(dwValue) Then  
           FileTxt.WriteLine("VBScript RunAs key does NOT exist")  
      Else  
           FileTxt.WriteLine("VBScript RunAs key EXISTS")  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set dwValue      = Nothing  
      Set FileTxt      = Nothing  
      Set FSO          = Nothing  
      Set objRegistry  = Nothing  
      Set strKeyPath   = Nothing  
      Set strValueName = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub MicrosoftDotNetFramework1DOT1()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM Directory  : Directory      = "C:\Windows\Microsoft.NET\Framework\v1.1.4322"  
      DIM FolderTest : Set FolderTest = Nothing  
      DIM KeyTest    : Set KeyTest    = Nothing  
      DIM RegKey     : RegKey         = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{CB2F7EDD-9D1F-43C1-90FC-4F52EAE172A1}\"  
      DIM Program    : Program        = "Microsoft .Net Framework 1.1"  
      DIM ProgTest   : Set ProgTest   = Nothing  
      DIM Output     : Output         = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FolderTest = DirExists(Directory)  
      If (KeyTest = True) AND (FolderTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set Directory  = Nothing  
      Set FileTxt    = Nothing  
      Set FolderTest = Nothing  
      Set FSO        = Nothing  
      Set KeyTest    = Nothing  
      Set oShell     = Nothing  
      Set Output     = Nothing  
      Set Program    = Nothing  
      Set ProgTest   = Nothing  
      Set RegKey     = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub SunJavaRuntime()  

      REM Define Local Objects  
      DIM FSO    : SET FSO      = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files (x86)\Java\jre6\bin\java.exe"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216024FF}\"  
      DIM Program  : Program      = "Java(TM) 6 Update 24"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest  = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub AppleQuicktime()  

      REM Define Local Objects  
      DIM FSO    : SET FSO      = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files (x86)\QuickTime\QuickTimePlayer.exe"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{57752979-A1C9-4C02-856B-FBB27AC4E02C}\"  
      DIM Program  : Program      = "Quicktime"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub BentleyPrerequisites()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM KeyTest1 : Set KeyTest1 = Nothing  
      DIM KeyTest2 : Set KeyTest2 = Nothing  
      DIM KeyTest3 : Set KeyTest3 = Nothing  
      DIM RegKey1  : RegKey1      = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{FB97C283-1F3C-42D4-AE01-ADC1DC12F774}\"  
      DIM Program1 : Program1     = "Microsoft Visual Basic for Applications core"  
      DIM RegKey2  : RegKey2      = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{A13D16C5-38A9-4D96-9647-59FCCAB12A85}\"  
      DIM Program2 : Program2     = "Microsoft Visual Basic for Applications localized"  
      DIM RegKey3  : RegKey3      = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{2EA870FA-585F-4187-903D-CB9FFD21E2E0}"  
      DIM Program3 : Program3     = "DHTML Editing Component for Applications"  
      DIM Program  : Program      = "Bentley Prerequisites"  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest1 = KeyExists(RegKey1)  
      KeyTest2 = KeyExists(RegKey2)  
      KeyTest3 = KeyExists(RegKey3)  
      If KeyTest1 = True Then  
           If KeyTest2 = True Then  
                If KeyTest3 = True Then  
                     FileTxt.WriteLine(Output & KeyTest3)  
                Else  
                     FileTxt.WriteLine(Output & "False")  
                     MsgBoxVar = OutPut & "False" & Chr(13)  
                End If  
           End If  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set FileTxt  = Nothing  
      Set FSO      = Nothing  
      Set KeyTest1 = Nothing  
      Set KeyTest2 = Nothing  
      Set KeyTest3 = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set Program1 = Nothing  
      Set Program2 = Nothing  
      Set Program3 = Nothing  
      Set RegKey1  = Nothing  
      Set RegKey2  = Nothing  
      Set RegKey3  = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub CADStandards()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM Directory  : Directory      = "C:\cad_stds\"  
      DIM FolderTest : Set FolderTest = Nothing  
      DIM Program    : Program        = "CAD_STDS"  
      DIM Output     : Output         = Program & Chr(32) & "=" & Chr(32)  

      FolderTest = DirExists(Directory)  
      FileTxt.WriteLine(Output & FolderTest)  
      If FolderTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & FolderTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set Directory  = Nothing  
      Set FileTxt    = Nothing  
      Set FolderTest = Nothing  
      Set FSO        = Nothing  
      Set Program    = Nothing  
      Set Output     = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub MakeDirectories()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM CADSTDSFolder : CADSTDSFolder  = "C:\cad_stds\"  
      DIM fldrGSP       : fldrGSP        = "c:\Program Files\GSP\"  
      DIM fldrDocProp   : fldrDocProp    = "c:\Program Files\GSP\DocProp\"  
      DIM fldrDGN       : fldrDGN        = "c:\DGN\"  
      DIM fldrTmp       : fldrTmp        = "c:\tmp\"  
      DIM fldrTemp      : fldrTemp       = "c:\Temp\"  
      DIM fldrBackup    : fldrBackup     = "c:\backup\"  
      DIM fldrProgGSP   : fldrProgGSP    = "c:\ProgramGSP\"  
      DIM FolderTest    : Set FolderTest = Nothing  
      DIM Output        : Output         = Chr(32) & "=" & Chr(32)  

      FolderTest = DirExists(CADSTDSFolder)  
      FileTxt.WriteLine(CADSTDSFolder & Output & FolderTest)  
      If FolderTest = False Then  
           MsgBoxVar = MsgBoxVar & CADSTDSFolder & OutPut & FolderTest & Chr(13)  
      End If  
      FolderTest = DirExists(fldrGSP)  
      FileTxt.WriteLine(fldrGSP & Output & FolderTest)  
      If FolderTest = False Then  
           MsgBoxVar = MsgBoxVar & fldrGSP & OutPut & FolderTest & Chr(13)  
      End If  
      FolderTest = DirExists(fldrDocProp)  
      FileTxt.WriteLine(fldrDocProp & Output & FolderTest)  
      If FolderTest = False Then  
           MsgBoxVar = MsgBoxVar & fldrDocProp & OutPut & FolderTest & Chr(13)  
      End If  
      FolderTest = DirExists(fldrDGN)  
      FileTxt.WriteLine(fldrDGN & Output & FolderTest)  
      If FolderTest = False Then  
           MsgBoxVar = MsgBoxVar & fldrDGN & OutPut & FolderTest & Chr(13)  
      End If  
      FolderTest = DirExists(fldrTmp)  
      FileTxt.WriteLine(fldrTmp & Output & FolderTest)  
      If FolderTest = False Then  
           MsgBoxVar = MsgBoxVar & fldrTmp & OutPut & FolderTest & Chr(13)  
      End If  
      FolderTest = DirExists(fldrTemp)  
      FileTxt.WriteLine(fldrTemp & Output & FolderTest)  
      If FolderTest = False Then  
           MsgBoxVar = MsgBoxVar & fldrTemp & OutPut & FolderTest & Chr(13)  
      End If  
      FolderTest = DirExists(fldrBackup)  
      FileTxt.WriteLine(fldrBackup & Output & FolderTest)  
      If FolderTest = False Then  
           MsgBoxVar = MsgBoxVar & fldrBackup & OutPut & FolderTest & Chr(13)  
      End If  
      FolderTest = DirExists(fldrProgGSP)  
      FileTxt.WriteLine(fldrProgGSP & Output & FolderTest)  
      If FolderTest = False Then  
           MsgBoxVar = MsgBoxVar & fldrProgGSP & OutPut & FolderTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set CADSTDSFolder = Nothing  
      Set FileTxt       = Nothing  
      Set fldrBackup    = Nothing  
      Set fldrDocProp   = Nothing  
      Set fldrDGN       = Nothing  
      Set fldrGSP       = Nothing  
      Set fldrProgGSP   = Nothing  
      Set fldrTemp      = Nothing  
      Set fldrTmp       = Nothing  
      Set FSO           = Nothing  
      Set Output        = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub GSPVision()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Users\Public\Desktop\Vision.lnk"  
      DIM FileTest : Set FileTest = Nothing  
      DIM Program  : Program      = "GS&P Vision"  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      FileTest = FileExists(File)  
      FileTxt.WriteLine(Output & FileTest)  
      If FileTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & FileTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTest = Nothing  
      Set FileTxt  = Nothing  
      Set FSO      = Nothing  
      Set Program  = Nothing  
      Set Output   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub GSPWay()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Users\Public\Desktop\GSPway.lnk"  
      DIM FileTest : Set FileTest = Nothing  
      DIM Program  : Program      = "GS&P Way"  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      FileTest = FileExists(File)  
      FileTxt.WriteLine(Output & FileTest)  
      If FileTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & FileTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTest = Nothing  
      Set FileTxt  = Nothing  
      Set FSO      = Nothing  
      Set Program  = Nothing  
      Set Output   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub GSPEnterpriseSearch()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Users\Public\Desktop\Enterprise Search.LNK"  
      DIM FileTest : Set FileTest = Nothing  
      DIM Program  : Program      = "GS&P Enterprise Search"  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      FileTest = FileExists(File)  
      FileTxt.WriteLine(Output & FileTest)  
      If FileTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & FileTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTest = Nothing  
      Set FileTxt  = Nothing  
      Set FSO      = Nothing  
      Set Program  = Nothing  
      Set Output   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub AdvertisementWizard()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Users\Public\Desktop\GSP Advertised Programs.lnk"  
      DIM FileTest : Set FileTest = Nothing  
      DIM Program  : Program      = "GS&P Advertised Programs"  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      FileTest = FileExists(File)  
      FileTxt.WriteLine(Output & FileTest)  
      If FileTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & FileTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTest = Nothing  
      Set FileTxt  = Nothing  
      Set FSO      = Nothing  
      Set Program  = Nothing  
      Set Output   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub MicrosoftOffice2007()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files (x86)\Microsoft Office\Office12\OUTLOOK.EXE"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{90120000-0011-0000-0000-0000000FF1CE}\"  
      DIM Program  : Program      = "Office 2007"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub MicrosoftOfficeCommunicator2007()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files (x86)\Microsoft Office Communicator\communicator.exe"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{0D1CBBB9-F4A8-45B6-95E7-202BA61D7AF4}\"  
      DIM Program  : Program      = "Communicator 2007"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub MicrosoftLiveMeeting()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files (x86)\Microsoft Office\Live Meeting 8\Console\PWConsole.exe"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{AC388C78-2619-452C-BFBE-FABCC3194387}\"  
      DIM Program  : Program      = "Live Meeting"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub SeavusProjectViewer()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files (x86)\Seavus\Seavus Project Viewer\SeavusProjectViewer.exe"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{EC852FE4-9F93-4152-ADB8-916623FB45AA}\"  
      DIM Program  : Program      = "Seavus Project Viewer"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub AdobeFlash()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM KeyTest : Set KeyTest = Nothing  
      DIM RegKey  : RegKey      = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{148D9D03-5D23-4D4F-B5D0-BA6030C45DCF}\"  
      DIM Program : Program     = "Adobe Flash"  
      DIM Output  : Output      = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTxt.WriteLine(Output & KeyTest)  
      If KeyTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & KeyTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set FileTxt = Nothing  
      Set FSO     = Nothing  
      Set KeyTest = Nothing  
      Set oShell  = Nothing  
      Set Output  = Nothing  
      Set Program = Nothing  
      Set RegKey  = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub BentleyView()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files (x86)\Bentley\View V8i\View\BentleyView.exe"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{87D6CF41-5817-4725-8AB2-90E6B20EDE02}\"  
      DIM Program  : Program      = "Bentley View"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub WindowsXPMode()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files\Windows XP Mode\Windows XP Mode base.vhd"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1374CC63-B520-4f3f-98E8-E9020BF01CFF}\"  
      DIM Program  : Program      = "Windows XP Mode"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub GSPPDF2()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files (x86)\GSPPDF2\pdfwriter.exe"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GSP PDF Creator 2\"  
      DIM Program  : Program      = "GSPPDF2"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub GSPDirectoryFileServiceShortcut()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Users\Public\Desktop\GS&P Directory File Service.lnk"  
      DIM FileTest : Set FileTest = Nothing  
      DIM Program  : Program      = "GS&P Directory File Service"  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      FileTest = FileExists(File)  
      FileTxt.WriteLine(Output & FileTest)  
      If FileTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & FileTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTest = Nothing  
      Set FileTxt  = Nothing  
      Set FSO      = Nothing  
      Set Program  = Nothing  
      Set Output   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub Equitrac()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files\Equitrac\Professional\Client\EQToolTray.exe"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C8DED4CE-A2CF-4370-8A7E-96D941126F97}\"  
      DIM Program  : Program      = "Equitrac"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub CheckRemoteRegistry()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM ArrComputer   : ArrComputer       = Array(".")  
      DIM ArrServices   : ArrServices       = Array("Remote Registry")  
      DIM colItems      : Set colItems      = Nothing  
      DIM objItem       : Set objItem       = Nothing  
      DIM objWMIService : Set objWMIService = Nothing  
      DIM Service       : Set Service       = Nothing  
      DIM strComputer   : strComputer       = "."  

      For Each strComputer In ArrComputer  
           For Each Service In ArrServices  
                Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  
                Set colItems = objWMIService.ExecQuery("Select * from Win32_Service where DisplayName = '" & Service & "'")  
                For Each objItem in colItems  
                     If objItem.State = "Running" then  
                          FileTxt.WriteLine("Remote Registry service is running")  
                     Else  
                          FileTxt.WriteLine("Remote Registry service is NOT running")  
                     End If  
                Next  
           Next  
      Next  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set ArrComputer   = Nothing  
      Set ArrServices   = Nothing  
      Set colItems      = Nothing  
      Set FileTxt       = Nothing  
      Set FSO           = Nothing  
      Set objItem       = Nothing  
      Set objWMIService = Nothing  
      Set Service       = Nothing  
      Set strComputer   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub PDFx()  

      REM Define Local Objects  
      DIM FSO     : SET FSO     = CreateObject("Scripting.FileSystemObject")  
      DIM oShell  : SET oShell  = CreateObject("Wscript.Shell")  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM File     : File         = "C:\Program Files (x86)\PDFx\PDFx.exe"  
      DIM FileTest : Set FileTest = Nothing  
      DIM KeyTest  : Set KeyTest  = Nothing  
      DIM RegKey   : RegKey       = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{33B72057-339D-4D08-BC19-3452C7C807EB}\"  
      DIM Program  : Program      = "PDFx2"  
      DIM ProgTest : Set ProgTest = Nothing  
      DIM Output   : Output       = Program & Chr(32) & "=" & Chr(32)  

      KeyTest = KeyExists(RegKey)  
      FileTest = FileExists(File)  
      If (KeyTest = True) AND (FileTest = True) then  
           ProgTest = True  
      Else  
           ProgTest = False  
      End If  
      FileTxt.WriteLine(Output & ProgTest)  
      If ProgTest = False Then  
           MsgBoxVar = MsgBoxVar & OutPut & ProgTest & Chr(13)  
      End If  
      FileTxt.Close  

      REM Cleanup Local Variables  
      Set File     = Nothing  
      Set FileTxt  = Nothing  
      Set FileTest = Nothing  
      Set FSO      = Nothing  
      Set KeyTest  = Nothing  
      Set oShell   = Nothing  
      Set Output   = Nothing  
      Set Program  = Nothing  
      Set ProgTest = Nothing  
      Set RegKey   = Nothing  

 End Sub  

 '*******************************************************************************  

 Sub XMBentleyExists()  

      REM Define Local Objects  
      DIM FileTxt : Set FileTxt = FSO.OpenTextFile(LogFolder & LogFile, 8, True)  

      REM Define Local Variables  
      DIM FolderTest      : Set FolderTest  = Nothing  
      DIM XMBentleyFolder : XMBentleyFolder = "C:\Users\Default\AppData\Roaming\XMBENTLEY\"  

      FolderTest = DirExists(XMBentleyFolder)  
      If FolderTest = False Then  
           FileTxt.WriteLine(XMBentleyFolder & Chr(32) & "does not exist")  
      Else  
           FileTxt.WriteLine(XMBentleyFolder & Chr(32) & "exists")  
      End If  

      REM Cleanup Local Variables  
      Set FileTxt         = Nothing  
      Set FolderTest      = Nothing  
      Set XMBentleyFolder = Nothing  

 End Sub  

 '*******************************************************************************  

 Function KeyExists(Key)  

      REM Define Local Objects  
      DIM oShell : Set oShell = CreateObject("WScript.Shell")  

      On Error Resume Next  

      oShell.RegRead (Key)  
      If Err = 0 Then  
           KeyExists = True  
      Else  
           KeyExists = False  
      End If  

      REM Cleanup Local Variables  
      Set oShell = Nothing  

 End Function  

 '*******************************************************************************  

 Function FileExists(File)  

      REM Define Local Objects  
      DIM FSO : SET FSO = CreateObject("Scripting.FileSystemObject")  

      If FSO.FileExists(File) then  
           FileExists = True  
      Else  
           FileExists = False  
      End If  

      REM Cleanup Local Variables  
      Set FSO = Nothing  

 End Function  

 '*******************************************************************************  

 Function DirExists(Folder)  

      REM Define Local Objects  
      DIM FSO : SET FSO = CreateObject("Scripting.FileSystemObject")  

      If FSO.FolderExists(Folder) then  
           DirExists = True  
      Else  
           DirExists = False  
      End If  

      REM Cleanup Local Variables  
      Set FSO = Nothing  

 End Function  

 '*******************************************************************************  

 Sub DisplayErrors()  

      If MsgBoxVar = "" Then  
           MsgBoxVar = "No Errors"  
      End If  
      WScript.Echo MsgBoxVar  

 End Sub  

 '*******************************************************************************  

 Sub GlobalVariableCleanup()  

      Set LogFolder    = Nothing  
      Set MsgBoxVar    = Nothing  
      Set RelativePath = Nothing  

 End Sub  

0 comments:

Post a Comment