I've created a straightforward solution for using BGInfo on a variety of OS's. I wanted a single way for setting up BGInfo on multiple OS's that would update on each logon.

This script supports Windows Server 2003 to 2016, so it relies on a vbscript file for setup. The OS is determined, and files are appropriately staged where needed.

Also unique is the use of a few helper vbscript files for usefully composing drive and network information.


Just extract the zip file, add bginfo.exe from the sysinternals site, and run setup.vbs



VB Script
Set WshShell = WScript.CreateObject("WScript.Shell"Set objFSO = CreateObject("Scripting.FileSystemObject") 
strCWD = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(Wscript.ScriptName))) 
strAllUsers = WshShell.ExpandEnvironmentStrings("%ALLUSERSPROFILE%") 
Const OverwriteExisting = True 
'Gather machine details. 
Set SystemSet = GetObject("winmgmts:").InstancesOf ("Win32_OperatingSystem")  
For Each System in SystemSet  
    strOSVer = System.Version 
    'WScript.Echo strOSVer 
    strOSArch = System.OSArchitecture 
    'WScript.Echo strOSArch 
    intOSType = System.ProductType 
    'WScript.Echo intOSType 
'Determining Program Files location 
If strOSArch = "64-bit" Then 
'Copy to Program Files (x86) 
If (objFSO.FileExists("C:\Program Files (x86)\BGInfo")) Then 
objFSO.DeleteFile "C:\Program Files (x86)\BGInfo\*.*", true 
objFSO.CreateFolder "C:\Program Files (x86)\BGInfo" 
End If 
strCopyDest = "C:\Program Files (x86)\BGInfo" 
strCopyDestWin = "C:\Windows\SysWow64" 
objFSO.CopyFile strCWD & "\*.vbs", strCopyDest, OverwriteExisting 
'WScript.Echo "Copying to program files x86" 
'WScript.Echo strCopyDest