admin2015 0 Geschrieben 22. November 2015 Melden Teilen Geschrieben 22. November 2015 Hallo, ich möchte Clients automatisch und permanent mit Java Updates versorgen, bspw. ein mal täglich. Wie stelle ich das am einfachsten an? Es gibt prinzipiell zwei Möglichkeiten, die ich bereits schon mit einem Kollegen durchgekaut habe: 1. Es gibt ein Skript auf dem Server, welches per Task ausgeführt wird und das aktuellste Java Update runterlädt, die MSI-Datei aus der EXE extrahiert und in einem UNC-Pfad bereitstellt. Auf den Clients wird dann per Gruppenrichtlinien ein Anmeldeskript verteilt, welches die MSI-Datei aus dem UNC-Pfad öffnet und silent installiert. Ginge das? Wenn ja, wie gehe ich das an? 2. Es wird ein Anmeldeskript per Gruppenrichtlinien verteilt, das die aktuellste Javaversion herunterlädt, entpackt und installiert. Da dadurch ja auf jedem Client der Download durchgeführt wird, wird das Netz ja extrem belastet. Dem ISA-Server könnte man ja dann z.B. sagen, dass die Datei gecached werden soll. Gibt es noch weitere Möglichkeiten? Zitieren Link zu diesem Kommentar
magheinz 110 Geschrieben 22. November 2015 Melden Teilen Geschrieben 22. November 2015 Habt ihr keine Softwareverteilung wie opsi o.ä.? Eventuell wäre das ja eine Idee. Dann hättest du gleich eine Lösung für alles an Software. Zitieren Link zu diesem Kommentar
GuentherH 61 Geschrieben 22. November 2015 Melden Teilen Geschrieben 22. November 2015 Habt ihr keine Softwareverteilung .. oder den WSUS und dann über den WSUS Package Publisher -> http://www.gruppenrichtlinien.de/artikel/wsus-package-publisher-software-ueber-windows-server-update-service-bereitstellen/ LG Günther Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 22. November 2015 Melden Teilen Geschrieben 22. November 2015 Weitere HowTos in Sachen WPP/WSUS: http://wsus.de/wpp Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 23. November 2015 Melden Teilen Geschrieben 23. November 2015 Meine bevorzugte Lösung: Verzicht auf Java (und Flash und Adobe Reader)... Spart viel Kopfschmerz, trägt aber vmtl. nicht zur Lösungsfindung bei :D Zitieren Link zu diesem Kommentar
NorbertFe 2.062 Geschrieben 23. November 2015 Melden Teilen Geschrieben 23. November 2015 Naja vielleicht... immerhin arbeitet Adobe grad selbst an der "Abschaffung" von einfachen alternativen Verteilmöglichkeiten, indem man dazu wieder seine Daten abgeben muß. ;) Führt ja vielleicht bei einigen dazu, dass sie eben doch drauf verzichten. Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 24. November 2015 Melden Teilen Geschrieben 24. November 2015 Meine bevorzugte Lösung: Verzicht auf Java (und Flash und Adobe Reader)... Spart viel Kopfschmerz, trägt aber vmtl. nicht zur Lösungsfindung bei :D Prinzipiell bin auch dafür, aber wir haben nunmal Software die Java auf den Clients braucht. Und bezüglich Player muss die Order vom Ober kommen, dann wird deinstalliert und es bleibt weg. Zitieren Link zu diesem Kommentar
admin2015 0 Geschrieben 24. November 2015 Autor Melden Teilen Geschrieben 24. November 2015 Ich habe ein VBS-Skript gefunden. Man findet nach dem Ausführen des Skriptes die MSI-Datei unter C:\Users\Administrator\AppData\LocalLow\Oracle\Java\ 'JRE_Updater 'Updates and optionally deploys or removes Java Runtime 'Last Update: 06/12/2015 'By Kevin Denham (kevin.denham@gmail.com) ' '================= Options ================================== 'Download=0 if this is a client that is 'not' downloading Download=1 'ModifyJRE=0 if this is a host that is 'only' downloading ModifyJRE=1 'Location for downloaded files. Example: FileStore="\\Server\SharedFolder\" 'Leaving FileStore as "" uses the script's working directory FileStore="\\SERVER\NETLOGON\Java" '0 = Remove JRE, 1 = Update Existing JRE, 2 = Deploy and/or Update JRE x86=2 x64=2 'For x64 bit browsers otherwise use only x86 for x64 systems 'Add any extra Java CLI switches 'http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html#A1097528 'URL Updated for Java 8 Options 'Example: switches="/s INSTALLDIR=D:\Program Files(x86)\Java\" switches32="/s" switches64="/s" On error resume next 'Do not edit below this line '=================================================================== Set App = CreateObject("Shell.Application") Set objFSO = CreateObject("Scripting.FileSystemObject") Set oShell = WScript.CreateObject("WScript.Shell") Set installer = CreateObject("WindowsInstaller.Installer") Set req = CreateObject("MSXML2.XMLHTTP.6.0") Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0") areAdmin = false 'If FileStore was not specified use the script's working directory If FileStore = "" Then FileStore = objFSO.GetParentFolderName(WScript.ScriptFullName) & "\" file32 = FileStore & "JRE_32bitBrowsers.exe" file64 = FileStore & "JRE_64bitBrowsers.exe" If Download = 1 Then If Not objFSO.FolderExists(FileStore) Then objFSO.CreateFolder(FileStore) logFile = FileStore & "JRE_Bundle.log" 'Create the log that records the last download bundle ID If Not objFSO.FileExists(logfile) Then header = "Current Java Bundle Log: " objFSO.OpenTextFile(logFile, 8, True).WriteLine header End if Set openLog = objFSO.OpenTextFile(logFile, 1, True) readLog = openLog.ReadAll 'Query java.com req.open "GET", "http://www.java.com/en/download/manual.jsp", False req.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64)" req.send() 'Parse query response Call parseCheck(" Offline", file32, bundle32) Call parseCheck(" (64-bit)", file64, bundle64) End If Function parseCheck(str, str2, bndl) strArr = split(req.responseText, "Download Java software for Windows" & str) strArr2 = split(strArr(1), Chr(34)) bndl = strArr2(2) If instr(readLog, bndl) = false Then objFSO.OpenTextFile(logFile, 8, True).WriteLine Date & "|" & bndl 'Our bundle is out-of-date, download latest Call getBundle(str2, bndl) End If End Function Function getBundle(fName, bURL) objXMLHTTP.open "GET", bURL, false objXMLHTTP.send() If objXMLHTTP.Status = 200 Then Set objADOStream = CreateObject("ADODB.Stream") objADOStream.Open objADOStream.Type = 1 objADOStream.Write objXMLHTTP.ResponseBody objADOStream.Position = 0 If objFSO.FileExists(fName) Then objFSO.DeleteFile fName objADOStream.SaveToFile fName objADOStream.Close End if End Function 'Compare version numbers Function chkArr(arr1, arr2, i) If (CLng(arr1(i)) < (CLng(arr2(i)))) Then chkArr = True Exit Function End If If (UBound(arr1) > i) And (UBound(arr2) > i) Then chkArr = chkArr(arr1, arr2, i + 1) End Function If ModifyJRE = 1 Then If objFSO.FileExists(file32) Then store32 = objFSO.GetFileVersion(file32) If objFSO.FileExists(file64) Then store64 = objFSO.GetFileVersion(file64) 'Search for old Java installs For Each product In installer.Products 'If product is JRE If InStr(product, "26A24AE4-039D-4CA4-87B4-") Then Version = installer.ProductInfo(product, "VersionString") 'If installed JRE is 32 bit If Mid(product,29,2) = "32" Then 'If installed JRE is out-of-date or we specified removal If (chkArr(Split(Version, "."), Split(store32, "."), CInt(0)) = True) Or x86 = 0 Then If areAdmin = false Then Call IsElevated oShell.run("msiexec.exe /x " & product & " /qn"), 1, true If x86 = 1 Then x86 = 2 Else If x86 = 2 Then x86 = 1 End If End If If Mid(product,29,2) = "64" Then If (chkArr(Split(Version, "."), Split(store64, "."), CInt(0)) = True) Or x64 = 0 Then If areAdmin = false Then Call IsElevated oShell.run("msiexec.exe /x " & product & " /qn"), 1, true If x64 = 1 Then x64 = 2 Else If x64 = 2 Then x64 = 1 End If End If End if Next 'If FileStore is UNC, transfer files If (Mid(FileStore,1,2) = "\\") And ((x86 = 2) Or (x64 = 2)) Then temp = oShell.ExpandEnvironmentStrings("%temp%") Set TypeLib = CreateObject("Scriptlet.TypeLib") tmpFolder = objFSO.CreateFolder(temp & "\" & TypeLib.Guid) objFSO.CopyFile FileStore & "*", tmpFolder, True file32 = tmpFolder & "\" & objFSO.GetFileName(file32) file64 = tmpFolder & "\" & objFSO.GetFileName(file64) End If 'Install the latest JRE If x86 = 2 And objFSO.FileExists(file32) Then If areAdmin = false Then Call IsElevated oShell.run(chr(34) & file32 & chr(34) & " " & switches32), 1, true End If If x64 = 2 And objFSO.FileExists(file64) Then If areAdmin = false Then Call IsElevated oShell.run(chr(34) & file64 & chr(34) & " " & switches64), 1, true End If If objFSO.FolderExists(tmpFolder) Then objFSO.DeleteFolder tmpFolder, True 'Uninstall the Java Update Scheduler For Each product In installer.Products If InStr(product, "4A03706F-666A-4037-7777-5F2748764D10") Then If areAdmin = false Then Call IsElevated oShell.run("msiexec.exe /X{4A03706F-666A-4037-7777-5F2748764D10} /qn"), 1, true End if Next End If Function IsElevated IsElevated = CreateObject("WScript.Shell").Run("cmd.exe /c ""whoami /groups|findstr S-1-16-12288""", 0, true) = 0 If IsElevated = false Then App.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34), "", "runas" wscript.quit Else areAdmin = true End If End function Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 24. November 2015 Melden Teilen Geschrieben 24. November 2015 Wenn es dir nur um das Installieren und gleichzeitige Deinstallieren von Java geht, hilft dir sicherlich Uninstall2Install weiter. http://wsus.de/uninstall2install Lässt sich alles ganz wunderbar mit dem WPP in Kombination mit dem WSUS benutzen. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.