noobstar0815
Goto Top

Per Batch überprüfen, ob Java etc. aktuell sind

Guten morgen =)
Wir Informatiker versuchen es ja immer so einfach wie möglich zu machen. Deshalb würde ich gerne eine Batch-Datei schreiben, die mir automatisch sagt, ob Java, Adobe etc auf dem aktuellen Stand sind. Leider weiß ich nicht, wie ich dies schaffe. Ich habe für jedes der Programme einen eigenen Ordner, wo nur die aktuelle Datei liegt. Das heißt ich könnte per Skript den Namen dieser Datei benutzen, um ihn mit der aktuellen Version zu vergleichen. Wie allerdings schaffe ich dies? Ich möchte nicht die Datei runterladen, um diese auf dem Rechner zu vergleichen, sondern möchte sie nur runterladen, wenn die Datei aktueller ist. Habt Ihr eventuell ein paar Tipps und Tricks für mich?
MfG Noobstar0815

Content-ID: 204669

Url: https://administrator.de/contentid/204669

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

Noobstar0815
Noobstar0815 09.04.2013 um 10:25:32 Uhr
Goto Top
Mir kam grade die Idee, dass ich, falls möglich, aus der Batch-Datei eine Java-Datei öffne, die wiederum die Version aus der Registry holt. Diese Idee kam mir grade, als ich ein bisschen mit rxInventory "rumgespielt" habe. Habt Ihr eventuell einfachere / bessere Vorschläge? Leider ist mir immer noch nichts eingefallen, um die aktuellen Versionen aus dem Internet abzufragen.
hronny
hronny 09.04.2013 um 10:38:17 Uhr
Goto Top
Hallo,

mir ist leider auch noch nichts vernüftiges eingefallen, wie man das sinnvoll abfragen kann. Meine Versuche in der Domäne über WMI die Sachen abzufragen funktionierten einigermaßen:

WMIC /node:192.168.0.10 product where "name like '%java%'" get name,version,identifyingNumber

Allerdings kommt dann noch ein zusätzliches Problem dazu, dass es 32 Bit und 64 Bit Versionen von Java gibt. Mein letzter Stand war dann, die aktuellen Versionen in ein freigegebenes Verzeichnis herunterladen und die Installation mittels psExec (remote) einfach zu starten. Sollte die Version schon vorhanden sein, bricht die Installation ab. Sind ältere vorhanden scheint es so, dass Java diese dann entfernt:

start \\NAS\NETLOGON\PSTools\PsExec.exe \\192.168.0.10 "\\NAS\freigabe\jre-7u17-windows-i586.exe" /s ADDLOCAL=ALL IEXPLORER=1 MOZILLA=1 /Passive /NoRestart

Es scheint bisher die schnellste Variante zu sein, um bei uns die Rechner mit dem aktuellen Java zu versorgen.
106543
106543 09.04.2013 um 10:41:41 Uhr
Goto Top
Hi,

er wird doch einen Registry-Eintrag zur installation bzw. der Version von Java geben, also -> batchScript welches das ausliest (nix mit extra Java starten und so Scherze) und dann mit der aktuellen version vergleichen, welche irgendwo gespeichert liegt face-smile

Bei der Umsetzung kann ich euch nicht helfen, aber die Suchfunktion müsste da Wunder wirken

Grüße
Exze
Noobstar0815
Noobstar0815 09.04.2013 um 10:53:49 Uhr
Goto Top
Naja mit Java kenne ich mich nicht aus, war grade halt bei rxInventory und dachte es sei Java, aber das ist eine eigenständige Sprache die auf VB basiert... :D

@hronny
Zum Aktualisieren habe ich bereits ein eigenes Skript geschrieben, das ist nicht das Problem, sondern ich hätte gerne ein Skript, welche ich ausführe ohne manuell etwas machen zu müssen, welches dann die installierten Versionen von Java, Adobe etc mit den aktuellen im Internet vergleicht, und mir ausgibt, welche Versionen von mir veraltet sind. Nur weis ich halt nicht wie ich die Daten im Internet Abfrage. Geht dies überhaupt? :D
106543
106543 09.04.2013 um 10:57:42 Uhr
Goto Top
Hi,

also im Internet Daten abfragen hab ich bisher nur mit VBA gemacht face-smile am einfachsten wär´s wirklich du würdest die Dateien manuell runterladen, und dann einfach die Vers.-Nummern vergleichen denk ich

Grüße
Exze
Noobstar0815
Noobstar0815 09.04.2013 um 10:59:09 Uhr
Goto Top
Joa... face-sad nur auf dem Stand bin ich ja aktuell schon, dass ich nur noch die Daten runterladen muss und dann von Pc zu Pc lauf um das Skript zu starten welches alles aktualisiert.
106543
106543 09.04.2013 um 11:03:24 Uhr
Goto Top
Also das Daten runterladen sollte kein Problem sein, genauso wie auf einer Website zu gucken, ob da ´ne neuer Version da ist. Schwierig wird´s nur wenn diese Website sich ändert :D
mit VBA kann ich z.B. im InternetExplorer (ich weiß ... IGITT!!) verschiedene Seiten aufrufen und da Informationen rausziehen.

Grüße
Exze
hronny
hronny 09.04.2013 um 11:16:51 Uhr
Goto Top
Lokale Versionsnummer habe ich bisher nur mit wmic (wie oben) oder über Java selbst herausgefunden, da der Pfad in der Registry nicht genau definiert ist. Zum Beispiel liegt dieser für "Java 7 Update 13" unter dem Pfad:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF238120731FF
Darüber wird das nichts. Über das Java selbst geht die Versionsanzeige mit:
%ProgramFiles%\Java\jre7\bin\java.exe -version
Lokal müsste man sich dann eine Datei in den UpdateOrdner legen, wo eine Zeile zum Vergleichen hinterlegt ist (z.B.: java version "1.7.0_17").
Ich finde lieber einmal die neue Version herunterladen macht weniger Arbeit, als ein Skript zu basteln face-smile
Wenn ein Skript, dann brauchst du die Seite als Startseite: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Dort kannst du immer die aktuelle Version sehen. Die benutze ich unter Linux mit einem Bashskript schon ewig, um meine Updates zu laden.

Gruß Ronny
Penny.Cilin
Penny.Cilin 09.04.2013 um 11:24:52 Uhr
Goto Top
Hallo,

der Registrykey ist doch hier zu finden:

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

Mittels
reg query ...
könnte man dann die Einrtäge abfragen.


Gruss Penny-
hronny
hronny 09.04.2013 um 11:38:23 Uhr
Goto Top
Upps den habe ich übersehen.
Noobstar0815
Noobstar0815 09.04.2013 um 11:41:17 Uhr
Goto Top
Aaaaaalso...
@106543 ich benutze gerne den IE :D Mit VBA kann ich grade leider gar nichts anfangen da ich es überhaupt nicht kenne :D Und genau bei dem automatisierten nachschauen im Internet habe ich die Probleme. :D
@hronny die lokalen Versionsnummern sind nicht das Problem. Ich habe wie gesagt für jedes Programm einen eigenen Ordner mit nur einer Datei welche die aktuelle Versionsnummer im Namen enthält, damit müsste man doch arbeiten können, oder?
@Penny.Cilin meine Meinung nach findet man unter diesem RegKey nicht die aktuelle Version. Dies weiß ich allerdings nicht sicher, da ich nich viel mit der Registry arbeite.

Zur Entschuldigung für meine Unwissenheit = Azubi im 1. Lehrjahr :D
106543
106543 09.04.2013 um 11:43:48 Uhr
Goto Top
Hey Noobstar ;)

du brauchst dich nicht zu entschuldigen :D
ich bin Azb im 2. LJ ^^
in der Registry sollte normalerweise schon die aktuelle Version stehen, weil Java beim Update-Prozess erst überprüft, ob nicht schon eine neuere Version schon drauf ist -> per RegKey.
was VBA angeht, das müsste sich auch mit anderen Programmier- bzw. Scriptsprachen machen lassen, ich weiß halt nur, dass ich´s bei mir mit VBA gelöst hab.

Grüße
Exze
Noobstar0815
Noobstar0815 09.04.2013 um 11:50:41 Uhr
Goto Top
Ja, dass es in der Registry steht weiß ich, nur hab ich da vorhin etwas rumgesucht und nichts unter dem Key gefunden, hätte ja sein können dass es in einem anderen Key steht :D
hronny
hronny 09.04.2013 aktualisiert um 11:54:13 Uhr
Goto Top
Dafür musst du den Unterschlüssel abfragen z.b: 1.7.0_17 also so im ganzen:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7.0_17\MSI
und dort den Eintrag "FullVersion" bzw "PRODUCTVERSION".
Penny.Cilin
Penny.Cilin 09.04.2013 um 11:53:49 Uhr
Goto Top
Zitat von @Noobstar0815:
Ja, dass es in der Registry steht weiß ich, nur hab ich da vorhin etwas rumgesucht und nichts unter dem Key gefunden,
hätte ja sein können dass es in einem anderen Key steht :D

Also unterdem Registrykey, welchen ich angegeben habe, sollte es eigentlich stehen. Der bezieht sich nämlich auf Local Machine. Ggf. mußt Du Dir die unterschlüssel anschauen.
hronny
hronny 09.04.2013 um 11:58:52 Uhr
Goto Top
C:\>REG QUERY "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment" /v Java7FamilyVersion

! REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
    Java7FamilyVersion  REG_SZ  1.7.0_17
Penny.Cilin
Penny.Cilin 09.04.2013 um 12:55:36 Uhr
Goto Top
Zitat von @hronny:
C:\>REG QUERY "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment" /v
> Java7FamilyVersion
> 
> ! REG.EXE VERSION 3.0
> 
> HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
>     Java7FamilyVersion  REG_SZ  1.7.0_17

Das Problem was dabei ist, das hiermit die Java-Version 7 abgefragt ist. Stelleweise ist auch noch die Java-Version 6 im Einsatz, oder sogar älter. ich sehe hier stellenweise auf noch Java v1.5 bzw. 1.4.
Noobstar0815
Noobstar0815 09.04.2013 um 12:59:50 Uhr
Goto Top
Ok, nichts desto trotz hab ich weiterhin keine Ahnung wie ich es machen kann OHNE manuell herunterladen zu müssen. Kann ich das herunterladen per Skript machen? Also dass ein Skript auf die Internetseite zugreift und die Datei für mich herunterlädt? Oder kann ich ein Skript schreiben, dass mir einfach die aktuelle Versionsnummer aus dem Internet sucht? Und wenn ja, wie? :D
106543
106543 09.04.2013 um 14:33:04 Uhr
Goto Top
Also das Script, welches dir die aktuelle Vers. Nummer rauszieht ist nicht schwer und kann ich dir innerhalb von Minuten basteln, wenn die Internet-Seite, wo ich die Vers.Nummer finden kann immer gleich bleibt oder sich nur minimal ändert face-smile
Noobstar0815
Noobstar0815 09.04.2013 um 15:10:41 Uhr
Goto Top
Hehe :D Das Problem besteht darin: Es sind entweder .msi Dateien oder Fullinstaller. An sich kein besonderes Problem, nur auf den normalen download Seiten davon findest du die Versionsnummer nicht. Erst beim runterladen wenn du den Namen siehst. (Ja ich weiß, man kann den Namen auch vorher nachschauen :D)
Bsp.: http://www.adobe.com/products/flashplayer/distribution3.html
106543
106543 10.04.2013 um 07:10:20 Uhr
Goto Top
Ok :D das ist natürlich ungünstig, ich bräuchte dazu eine Seite, auf der ich die Versionsnummer der aktuellen Java-Version finde, dann ist das alles kein Problem.
Endoro
Endoro 10.04.2013 um 08:24:38 Uhr
Goto Top
Hallo Noobstar0815,

zur Website kann ich leider nix beitragen, aber die Version spuckt Java doch selber aus: "java -version".


Gruss!
106543
106543 10.04.2013 um 08:39:18 Uhr
Goto Top
Hi @Endoro

das schon, das ist ja nicht das Problem, aber wir brauchen die Version, die auf der Update-Seite runtergeladen werden kann face-smile

Grüße
Exze
hronny
hronny 10.04.2013 um 09:03:06 Uhr
Goto Top
Ich verstehe euer Problem mittlerweile nicht mehr. Was fehlt denn nun eigentlich? Ich fasse mal kurz zusammen:
- wir wissen nun das lokal es über Registry bzw "Java -version" geht
- die Downloadseite für Java ist http://www.oracle.com/technetwork/java/javase/downloads/index.html
- die Downloadseite für Adobe Flash Player ist http://www.adobe.com/products/flashplayer/distribution3.html

Auf den beiden Internetseiten steht die aktuelle Versionsnummer (Java SE 7u17 und Flash Player 11.7.700.169). Wenn schon so kompliziert, dann müsst ihr die Stellen mit den Versionsnummern auf der Webseite über DOM oder SuchUndFind auslesen. So hart es auch klingen mag, aber es wird keine Internetseite geben, die einfach nur die Versionsnummer ausspuckt.
106543
106543 10.04.2013 um 09:48:43 Uhr
Goto Top
Hi,

@hronny oh da steht tatsächlich die Versions-Nummer
ich hab die gar nicht gesehn, dann ist´s natürlich noch relativ einfach rauszufiltern face-smile

@Noobstar0815 soll ich dir helfen, da n Tool zu basteln, welches die vers.Nummer ausliest oder willst du das selber machen ?

Grüße
Exze
Noobstar0815
Noobstar0815 10.04.2013 um 10:39:50 Uhr
Goto Top
Ehrlich gesagt bin ich mir im Moment nicht sicher ob ich es überhaupt noch möchte :D
Klingt ziemlich kompliziert alles :D
Das Problem bei mir ist : Ich kenne mich mit programmieren oder skripten nicht gut aus.
Deshalb bräuchte ich auf jeden Fall Hilfe^^ Mir fehlen momentan sogar jegliche Ansätze face-sad