This script I used to identify if the latest version of the Intel Proset for Wireless is installed on a system. It queries WMI for the existance of the wireless card. That means that some form of the driver must exist. I would make sure all my images had the base drivers in them. It then queries for the file
for its version. It uses this file to determine the version of the installed ProSet. If it is less than the one specified in the these variables
MajVer = 10 MinVer = 5 Build = 1
It starts an install (yes you must have admin rights to install this software). The above is equal to Intel ProSet verion 10.5.1.xxxxx.
This script uses the a popup window that times out. It assumes that you always want to install the latest version of the software. It works surprisingly well. The only issues I have had with it had to do with a bad NIC once and couple of XP machines with corrupt WMI subsystems.
Once this script runs, it will update the driver along with the Intel Proset. This was designed for the 32bit version of Windows XP. __________________________________________________________ __________________________________________________________
on error resume next Set filesys = CreateObject("Scripting.FileSystemObject") Set ProgFiles = WScript.CreateObject ("WScript.Shell") Set WshShell = WScript.CreateObject ("WScript.Shell")
MajVer = 10 MinVer = 5 Build = 1 baseInstall = "\\Server\share\Intel Proset 10.5.1\IntelSetup.exe" Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter",,48) For Each objNIC in colItems pos3945 = InStr(objNIC.Name,"3945ABG") pos2200 = InStr(objNIC.Name,"2200BG") if pos3945 <> "0" or pos2200 <> "0" then ' \\ If an adapter exists, echo that it exists. 'wscript.echo "Intel NIC Exists" IntelExists = "True" end if Next
If IntelExists = "True" then If filesys.FileExists(ProgFiles.ExpandEnvironmentStrings("%PROGRAMFILES%") & "\Intel\Wireless\Drivers\iProDifx.dll") then MyArray = Split(filesys.GetFileVersion(ProgFiles.ExpandEnvironmentStrings("%PROGRAMFILES%") & "\Intel\Wireless\Drivers\iProDifx.dll"),".") ' wScript.echo MyArray(0) ' wScript.echo MyArray(1) ' wScript.echo MyArray(2) ' wScript.echo MyArray(3) MajVersion = CInt(MyArray(0)) ' Wscript.echo MajVersion MinVersion = CInt(MyArray(1)) BuildNum = CInt(MyArray(2))
If MajVersion < MajVer or MinVersion < MinVer or BuildNum < Build then Set WshShell = CreateObject("WScript.Shell") WshShell.Popup "Your system has an older version of the Intel Proset Software (for the Intel Wireless NIC Card) on your system." _ & vbCRLF & vbCRLF & "Press OK to update the driver. Please be patient as the install file is quite large (50 MB)!" & vbCRLF & vbCRLF _ & " ---- IT Department" & vbCRLF & vbCRLF _ & "Currently Installed Version: " & MajVersion & "." & MinVersion & "." & BuildNum & vbCRLF & vbCRLF _ & "Version to be Installed: " & MajVer & "." & MinVer & "." & Build,15,"Dell Quickset is out of Date!",48 'Wscript.echo BaseInstPath ' \\ Copy the install file to the %temp% directory for install. It will not work over the network. filesys.CopyFile baseInstall, ProgFiles.ExpandEnvironmentStrings("%TEMP%" & "\IntelSetup.exe"),True WshShell.Run (ProgFiles.ExpandEnvironmentStrings("%TEMP%") & "\IntelSetup.exe"),1,True End If else ' \\ Install Intel Software filesys.CopyFile baseInstall, ProgFiles.ExpandEnvironmentStrings("%TEMP%" & "\IntelSetup.exe"),True WshShell.Run (ProgFiles.ExpandEnvironmentStrings("%TEMP%") & "\IntelSetup.exe"),1,True End If End If
If err.number <> 0 then call sendMail("Script error in Intel Wireless installation routine of os.vbs",vbCRLF & vbCRLF & "This user had an error while in the Intel wireless" & vbCRLF & vbCRLF & "Current Error = " & Err.Number) End if on error goto 0 End Sub
Sub sendMail (mailSubject,mailBody)
Set objEmail = CreateObject("CDO.Message") Set objFSO = CreateObject("Scripting.FileSystemObject") Set objShell = WScript.CreateObject ("WScript.Shell")