Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gmmastros on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Checking for the version of Intel Wireless Proset for 3945ABG and 2200BG wireless NIC cards w/E-mail

WMI

Checking for the version of Intel Wireless Proset for 3945ABG and 2200BG wireless NIC cards w/E-mail

by  computerhighguy  Posted    (Edited  )
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

%programfiles%\Intel\Wireless\Drivers\iProDifx.dll

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.
__________________________________________________________
__________________________________________________________

' // **************************************************
' // ComputerHighGuy's Intel Wireless Checker
' //
' // **************************************************



Sub IntelWireless()

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")

computerName = objShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
userName = objShell.ExpandEnvironmentStrings("%USERNAME%")


objEmail.From = userName & "@domain.com"
objEmail.To = "email@domain.com"
objEmail.Subject = mailSubject
objEmail.Textbody = "User: " & userName & " on computer \\" & computerName & " " & mailBody
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"smtp.domain.com"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send

End Sub
Register to rate this FAQ  : BAD 1 2 3 4 5 6 7 8 9 10 GOOD
Please Note: 1 is Bad, 10 is Good :-)

Part and Inventory Search

Back
Top