Per Script prüfen, ob der Internet Explorer 7 installiert ist

URL dieses Beitrags: http://blog.stefan-macke.com/2006/12/14/per-script-pruefen-ob-der-internet-explorer-7-installiert-ist/

Lange nichts mehr geschrieben, aber durch den Internet Explorer 7 habe ich doch tatsächlich Stress :-)

Wir haben den nun per WSUS verteilt und es gibt (natürlich) Probleme. Wie sollte es auch anders sein? Nun denn, ich musste irgendwie rausbekommen, ob der IE7 auf bestimmten PCs korrekt installiert wurde, oder nicht. Dazu habe ich mir ein einfaches Script zusammengebastelt, angelehnt an ein Script aus dem Microsoft Script Center: List Internet Explorer File Version Information.

  1. ‘ some used variables
  2. dim arrPCs()
  3. dim SinglePC
  4. dim PClist
  5. dim counter, i, j
  6.  
  7. ‘ text file containing computer names to be checked
  8. PCList = "PCList.txt"
  9.  
  10. ‘ read computer names from text file
  11. set objFSO = CreateObject("Scripting.FileSystemObject")
  12. Set objListFile = objFSO.GetFile(PCList)
  13. counter = 0
  14. if objListFile.Size <> 0 Then
  15.  
  16.   Set objListFile = nothing
  17.   Set objListFile = objFSO.OpenTextFile(PCList, 1)
  18.  
  19.   counter = 0
  20.   Do While objListFile.AtEndOfStream <> True
  21.     counter = counter + 1
  22.         redim preserve arrPCs(counter)
  23.     line = trim(objListFile.Readline)
  24.     arrPCs(counter) = line
  25.   Loop
  26.   objListFile.Close
  27.  
  28. ‘ list file is empty
  29. else
  30.  
  31.   Set objListFile = nothing
  32.   redim preserve arrPCs(0)
  33.  
  34. end if
  35.  
  36. for i = 1 to counter
  37.  
  38.         strComputer = ucase(arrPCs(i))
  39.  
  40.     ‘ ping PCs
  41.         Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
  42.         ExecQuery("select * from Win32_PingStatus where address = ‘"_
  43.             & strComputer & "’")
  44.     For Each objStatus in objPing
  45.         ‘ PC doesn’t respond
  46.        If IsNull(objStatus.StatusCode) or objStatus.StatusCode <> 0 Then
  47.                         wscript.echo strComputer & ": PC doesn’t respond to ping"
  48.         ‘ PC responds
  49.        Else
  50.                         Set objWMIService = GetObject("winmgmts:" _
  51.                             & "{impersonationLevel=impersonate}!\\" & strComputer & _
  52.                         "\root\cimv2\Applications\MicrosoftIE")
  53.        
  54.                         Set colIESettings = objWMIService.ExecQuery _
  55.                         ("Select Version from MicrosoftIE_FileVersion Where File=’iexplore.exe’")
  56.        
  57.                         For Each strIESetting in colIESettings
  58.                         Wscript.Echo strComputer & ": IE Version on PC: " & strIESetting.Version
  59.                         Next
  60.                 End If
  61.         Next
  62. Next

Das Script gibt lediglich für alle PCs/IP-Adressen in der Datei PCList.txt die Version des Internet Explorers an. Die Datei muss die PC-Namen oder IP-Adressen einfach mit einem Zeilenumbruch getrennt enthalten. Natürlich benötigt man Administratorrechte auf den abzufragenden Rechnern. Ausführen kann man es auf der Kommandozeile mittels cscript ie7.vbs (falls man die Datei so nennt ;) )

Zum Download gibt’s das Script natürlich auch: ie7.txt

Kommentare zu diesem Beitrag

  1. Gravatar Patrick
    Am 14. Dezember 2006 um 20:17 Uhr

    WMI Rockt.
    Mache auch gerade voll viel mit WMI.

  2. Gravatar Stefan
    Am 16. Dezember 2006 um 11:46 Uhr

    Ja, wenn man viele administrative Aufgaben zu erledigen hat, kann das Scripting einem schon helfen… Früher war es bei uns ein Akt, weil wir noch Windows NT im Einsatz hatten und dort nicht alles funktionierte, aber in einer reinen XP-Umgebung ist es mit Scripts wirklich sehr einfach die Remote-Administration zu bewältigen.

Einen Kommentar schreiben

XHTML: Diese Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>